1. 서브쿼리에서 사용되는 연산자
: 다음의 연산자들은 서브쿼리에 이용되며, boolean 타입을 반환
- EXISTS (서브쿼리) : 서브쿼리의 로우가 존재하면 참
- <표현> IN (서브쿼리) : 서브쿼리의 로우 값 중 하나라도 표현식과 같다면 참
- <표현> NOT IN (서브쿼리) : 서브쿼리의 로우 값 중 하나라도 표현식과 다르면 참
- <표현> <비교연산자> ANY (서브쿼리) : 서브쿼리의 로우 값 중 하나라도 표현식과 같다면 참
- <표현> <비교연산자> ALL (서브쿼리) : 서브쿼리의 로우 값 모두가 표현식과 같다면 참
2. 패턴매칭 연산자
2.1 LIKE 연산자
: 특정한 패턴을 가지고 있는 값들만을 조회할 수 있도록 도와줌
: 대소문자를 구분하지 않는다
: LIKE, NOT LIKE, ILIKE, NOT ILIKE 연산자와 동일 연산자로 ~~, !~~, ~~*, !~~*를 사용할 수 있다.
- 조회할 컬럼명 LIKE '패턴';
- 특정 값 LIKE '패턴';
- SELECT 'pink' LIKE '_in_', 'pink' LIKE 'p%k', 'pink' LIKE 'p__';
** 패턴 입력 시 와일드카드 문자를 이용
%: 문자열을 대체 ex>'김%','%민'...
_ : 문자를 대체 ex>'김%','%민'...
2.2 SIMILAR TO 연산자
: LIKE 연산자와 다르게 메타문자를 사용할 수 있다.
- WHERE student_name SIMILAR TO '(kim | LEE)%';
3. SQL 문자열 연산자와 함수
3.1 병합연산자
:'||' 을 이용해 문자열 간 병합이 가능하다
- SELECT 'postgre' || 'sql' AS result, 'price: ' ||300||'won' AS result2;
3.2 문자열 함수
: 문자열의 길이를 반환하는 함수- length()
- SELECT length('postgresql') AS length;
: 문자열을 길이로 분리해 반환하는 함수-substring()
- SELECT substring('sujin_01012345678' from 1 for 5), substring('sujin_01012345678' from 7 for 16);
: 문자열의 좌측을 기준으로 길이로 분리해 반환하는 함수- left()
- SELECT left('죽는 날까지 하늘을 우러러 한점 부끄럼이 없기를 잎새에 이는 바람에도 나는 괴로워했다.',15);
: 문자열을 결합해 주는 함수 - concat()
- SELECT concat('my sql ', 'language ', 'is ', null, 'postgresql ');
: 문자열의 위치를 찾아주는 함수-position()
- SELECT position('postgre' in 'my sql language is postgresql');
: 문자열의 특정부분을 바꿔주는 함수
- SELECT replace ('my sql language is postgresql' , ' postgre', ' not My');
'도서 > 모두를 위한 postgreSQL' 카테고리의 다른 글
Day12. 여러 개의 테이블을 로우로 연결하기 (0) | 2023.08.10 |
---|---|
Day11. 데이터 그룹화 (0) | 2023.08.05 |
Day9. 쿼리에 사용되는 연산자와 함수3 (0) | 2023.06.27 |
Day8. 쿼리에 사용되는 연산자와 함수2 (0) | 2023.06.27 |
Day7. 쿼리에 사용되는 연산자와 함수 (0) | 2023.06.24 |