두개의 쿼리 결과에서 중복되지 않는 값을 찾을려면 어찌해야 하나요>

두개의 쿼리 결과에서 중복되지 않는 값을 찾을려면 어찌해야 하나요>

QA

두개의 쿼리 결과에서 중복되지 않는 값을 찾을려면 어찌해야 하나요>

본문

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 에 인덱스 걸려있지 않으면 속도는 느릴껍니다...

빠른 답변 고맙습니다.
근데 알려주신 쿼리의 경우, data_table의 area값이 master_table의 area 값과 중복되는것이 없을경우 결과가 안나오는데 어떻게 수정해야 할까요?

select * from master_table where area not in (select area from data_table)
이것도 한번 해보세요~ ^^

 

이건 여기 질문올리기전에 제가 작성했던 쿼리인데 원하는값이 안나와서요  ㅠㅠ
실제로는 master_table의 area에 null 값이 포함된 row 도 있는데 혹시 그게 이유일까요?

저는 group by 후 having 카운트 이용 할듯한데 ...

 

아무도 이 답변이 없어서 답변 써요.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,128 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT