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 명령문은 명령문 바탕으로 다른 값이 한 번 밖에 나타나지 않는다는 점에 유의하도록 한다.
최종 수정 : 2021-08-27