두개의 쿼리 결과에서 중복되지 않는 값을 찾을려면 어찌해야 하나요> 채택완료
master_table
no area
1 강남구
2 강서구
3 강동구
4 종로구
5 서대문구
data_table
no area
1 강남구
2 종로구
안녕하세요.
위와같은 구조의 두개의 테이블이 있습니다.
master_table의 area 값이 data_table의 area 값과 중복되지 않는 데이터만 뽑으려면 어떻게 해야할까요?
즉 master_table에서 강서구, 강동구, 서대문구 값만 쿼리로 뽑고 싶습니다.
답변 3개
select * from master_table left join ( select area as b_area from data_table group by 1) as B ON B.b_area=master_table.area
where b_area is Null
area 에 인덱스 걸려있지 않으면 속도는 느릴껍니다...
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
감사합니다!
댓글을 작성하려면 로그인이 필요합니다.
select * from master_table where area not in (select area from data_table)
이것도 한번 해보세요~ ^^
답변에 대한 댓글 2개
실제로는 master_table의 area에 null 값이 포함된 row 도 있는데 혹시 그게 이유일까요?
a.area,b.c
from master_table a
left outer join
data_table b
on
a.area = b.c
where b.c IS null
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
근데 알려주신 쿼리의 경우, data_table의 area값이 master_table의 area 값과 중복되는것이 없을경우 결과가 안나오는데 어떻게 수정해야 할까요?