SQL > Advanced SQL >
The MINUS command operates on two SQL statements. It takes all the results from the first SQL statement, and then subtract out the ones that are present in the second SQL statement to get the final result set. If the second SQL statement includes results not present in the first SQL statement, such results are ignored.
The syntax for MINUS is as follows:
[SQL Statement 1]
[SQL Statement 2];
The columns selected in [SQL Statement 1] and [SQL Statement 2] need to be of the same data type for MINUS to work.
We use the following tables for our example.
To find all the dates where there are store sales but no internet sales, we use the following SQL statement:
SELECT Txn_Date FROM Store_Information
SELECT Txn_Date FROM Internet_Sales;
'Jan-05-1999', 'Jan-07-1999';, and 'Jan-08-1999' are the distinct values returned from SELECT Txn_Date FROM Store_Information. Out of the three dates, 'Jan-07-1999' is also returned from the second SQL statement, SELECT Txn_Date FROM Internet_Sales, so it is excluded from the final result set.
Please note that the MINUS command will only return distinct values.
Some databases may use EXCEPT instead of MINUS. Please check the documentation for your specific database for the correct usage.