DB
mysql not in 사용해서 차집합 검색하기
양석규
2016. 12. 13. 15:25
A B 두 테이블이 있다고 가정하자
A와 B는 id라는 컬럼을 공유하며 가지고 있다.
A는 B를 포함하고 있다. 여기서 A 테이블의 id 에서 B테이블의 id를 제외한 결과를 가져오고 싶다면
select A테이블의 컬럼명 from A테이블 where id not in (select B테이블의 컬럼명 from B테이블);
select id from A where id not in (select id from B);
를 하면 된다.
쉽게? 설명하자면 빨간색 공과 파란색 공이 섞여있는 상자에서 파란색 공을 빼고 싶으면
select 공 from 빨강 where 공 not in (select 공 from 파랑);