SQL 기본 | DML : 데이터 조작 언어 | MINUS

MINUS는 두개의 SQL 문에 사용되는 명령이다. MINUS는 먼저 첫번째 SQL문 결과를 확인한다. 그리고, 그 검색한 결과가 두번째 SQL문 결과에 있는지 여부를 확인한다. 만약 있다면 그 데이터가 삭제되고 최종 결과는 나오지 않는다. 만약 두 SQL 구문의 결과가 첫번째 SQL 구문의 결과에 없을 경우 해당 데이터가 제외로 처리된다.

MINUS 문법

MINUS 명령은 다음과 같다.

[SQL문1]
MINUS
[SQL문2];

MINUS 예제

아래와 같이 두개의 테이블이 있다고 하자.

store_information 테이블

store_name sales txn_date
Los Angeles 1500 Jan-05-2018
San Diego 250 Jan-07-2018
Los Angeles 300 Jan-08-2018
Boston 700 Jan-08-2018

internet_sales 테이블

txn_date sales
Jan-07-2018 250
Jan-10-2018 535
Jan-11-2018 320
Jan-12-2018 750

여기서 어느 날이 가게의 매출이 있고 인터넷 매출이 없는지 확인하기 위해 다음과 같은 SQL 문을 사용할 수 있다.

SELECT txn_date FROM store_information
MINUS
SELECT txn_date FROM Internet_sales;

SQL 구문 실행 결과는 아래와 같다.

txn_date
Jan-05-2018
Jan-08-2018

‘Jan-05-2018’, ‘Jan-07-2018’, 그리고 ‘Jan-08-2018’는 SELECT txn_date FROM store_information에 의해 나온 결과이다. 그 중에 ‘Jan-07-2018’ 은 SELECT txn_date FROM internet_sales의 결과로 존재하는 것으로, 최종 결과는 나오지 않는다.

MINUS 명령문은 명령문 바탕으로 다른 값이 한 번 밖에 나타나지 않는다는 점에 유의하도록 한다.