SQL 중복행 제거 문의 0 3 1,683

by ekujb [MySQL] [2014.12.17 23:05:27]


안녕하세요.

중복행 제거 관련해서 문의 드립니다.

테이블1 데이터가

100, 200, 300, 400 이렇게 있고

테이블2 데이터가

300, 400, 500, 600 있을때

쉽게 말해 테이블1 에서 테이블2에 있는 중복된 데이터를 제거하고 싶습니다.

결과는 100, 200 이 나와야 정상이겠죠, 찾아보니까 GROUP BY나 DISTINCT 얘기밖에 없어서 고수님들께 도움 요청 드립니다.

참고로 MySQL 입니다. 감사합니다.

by 유령회원 [2014.12.17 23:54:51]

mysql에는 minus가 없어서 보통 left join을 이용한 방법을 많이 쓰더군요..

select a.id

from 테이블1 a left join 테이블2 b on a.id = b.id

where b.id is null


by DarkBee [2014.12.18 10:41:56]

select * from t1 where not exists ( select 'x' from t2 where t1.col1 = t2.col1 )


by 아발란체 [2014.12.18 14:41:20]
SELECT * FROM A (100, 200, 300, 400)
MINUS
SELECT * FROM B (300, 400, 500, 600)

-- 결과 : 100, 200

악... 죄송합니다.. mysql 은 안되군요... ㅎㅎ 유령회원님이 말씀주셨네요...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입