본문 바로가기
서버/Mysql

SQL 두 테이블 비교하여 한쪽 테이블 없는 값 추출

by 코딩히어로 2022. 2. 17.
728x90

두 개의 테이블을 비교해서 한쪽에 데이터가 없을 시에

조회하는 방법에 대해 알아보도록 하겠습니다.

 

먼저 예를들기 위해 아래에 두 개의 테이블을 생성하였습니다.

 

test1

num name phone
1 영희 010-1111-2222
2 철수 010-1234-1234

test2

num name phone
1 민수 010-1312-1111
2 철수 010-1234-1234

 

test1과 test2에 name을 비교하여 양쪽 다 존재하지 않는 데이터를

추출하는 방법은 not in이라는 구문을 사용합니다.

 

select * from test1 where name not in (select name from test2);

 

test 1의 name을 조건으로 주면서 not in을 통해 test2의 name 데이터를 비교합니다.

두 개의 테이블의 name을 비교해서 일치하지 않는 테이블은 영희와 민수가 됩니다.

결과는 다음과 같이 나타납니다.

 

num name phone
1 영희 010-1111-2222
2 민수 010-1312-1111

 

728x90
반응형

댓글