단순하게 하면 되는줄 알았는데 단순한 애가 아니었네...
suppliers를 SUPER SET 이라고 정의하고
subquery의 orders를 SUB SET이라고 정의하면
suppliers를 A orders 를 B라고 정의하면
NOT EXISTS는 A-B 차집합 결과를
EXISTS는 A∩B교집합 결과를 돌려준다.
조금은.. WHERE IN과 다르게 비교 조건이 subquery에 들어가는 느낌이라고 해야하려나?
대신.. NOT IN으로 하면 결과가 30분 넘게 걸리는게 몇초도 안되서 바로 결과가 나오니 좋다.
SELECT * FROM suppliers WHERE NOT EXISTS (SELECT * FROM orders WHERE suplliers. supplier_id = orders.supplier_id); |
'프로그램 사용 > postgreSQL' 카테고리의 다른 글
postgresql 에서 ,로 구분되는 문자열로 내보내기 (0) | 2019.12.18 |
---|---|
postgres create view / materialized view (0) | 2019.12.15 |
sql filter() over() (0) | 2019.12.09 |
sql 표준함수 종류 (0) | 2019.12.09 |
postgresql 시퀀스 값 초기화 하기 (0) | 2019.11.29 |