EXISTS
하나 이상의 로우를 반환할 시 true, 아닐 시 false
SELECT * FROM table1
WHERE EXISTS(
SELECT * FROM table2
);
IN
특정 컬럼에서, IN 연산자로 지정한 value 값들을 가지는 row 들을 반환한다. NOT IN 은 그 반대이다.
SELECT * FROM table1
WEHRE column1 IN (
1, 2, 3
);
SELECT * FROM table1
WEHRE column1 NOT IN (
1, 2, 3
);
ANY, SOME
서브 쿼리 내의 결과값에서, WHERE 로 검색한 로우가 하나라도 존재하는 경우에 ( true, false 결과와 같음 ) 메인 쿼리를 실행한다. SOME 연산자도 같은 의미로 사용된다.
SELECT * FROM author
WHERE 'Harry potter' = ANY (
SELECT book_name FROM book
);
SELECT * FROM author
WHERE 'Harry potter' = SOME (
SELECT book_name FROM book
);
ALL
ALL 은 ANY, SOME 연산자와는 다르게 서브쿼리 조건을 모두 만족해야 true 결과를 가져올 수 있다.
SELECT * FROM book
WHERE 1000 <= ALL (
SELECT price FROM borrow
);
LIKE
문자열 패턴 검색
// Author : Kimmy
SELECT * FROM book WHERE name LIKE 'K____';
SELECT * FROM book WHERE name LIKE '_i___';
SELECT * FROM book WHERE name LIKE 'K%';
#참조
모두를 위한 PostgreSQL
'개발 > 데이터베이스' 카테고리의 다른 글
[PostgreSQL] UNION, INTERSECT, EXCEPT (0) | 2022.04.30 |
---|---|
[PostgreSQL] DISTINCT, HAVING (0) | 2022.04.27 |
[PostgreSQL] CASE 함수 / COALSECE 함수 / NULLIF 함수 (0) | 2022.04.11 |
[PostgreSQL] 형변환 / 비교 / 범위 연산자 (0) | 2022.04.10 |
[PostgreSQL] select, update, drop, alter, delete (0) | 2022.04.04 |