SQL 테이블간의 차집합, 교집합
테이블간의 중복체크를 할때.. 좀 필요할 경우가 있습니다
#### 차집합 ####
create table #test1 (no int, model int) create table #test2 (no int, model int)
insert #test1 values (1,1) insert #test1 values (2,2) insert #test1 values (3,3) insert #test1 values (4,4) insert #test1 values (5,5)
insert #test2 values (1,1) insert #test2 values (2,2) insert #test2 values (5,5)
left outer join 을 이용해서 #test.a - #test.b 를 계산합니다
select a.* from #test1 a Left outer join #test2 p on (a.no=p.no) where p.no is null
쿼리결과 no model 3 3 4 4
#### 교집합 ####
교집합은 흔히 하는 inner join 만 이용하면 되겠습니다
select a.* from #test1 a inner join #test2 p on (a.no=p.no)
쿼리결과 no model 1 1 2 2 5 5
출처: http://sqler.pe.kr | |
|
|