SQL > Advanced SQL > Minus

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.

Syntax

The syntax for MINUS is as follows:

[SQL Statement 1]
MINUS
[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.

Example

We use the following tables for our example.

Table Store_Information

Store_NameSalesTxn_Date
Los Angeles1500Jan-05-1999
San Diego250Jan-07-1999
Los Angeles300Jan-08-1999
Boston700Jan-08-1999

Table Internet_Sales

Txn_DateSales
Jan-07-1999250
Jan-10-1999535
Jan-11-1999320
Jan-12-1999750

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
MINUS
SELECT Txn_Date FROM Internet_Sales;

Result:

Txn_Date
Jan-05-1999
Jan-08-1999

'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.

Next: SQL Limit




Copyright © 2017   1keydata.com   All Rights Reserved     Privacy Policy     About   Contact