Intersect in SQL - sql - sql tutorial - learn sql
- The INTERSECT command in SQL combines the results of two SQL statement and returns only data that are present in both SQL statements.

- INTERSECT can be thought of as an AND operator (value is selected only if it appears in both statements), while UNION and UNION ALL can be thought of as an OR operator (value is selected if it appears in either the first or the second statement).
- The SQL INTERSECT clause/operator is used to combine two SELECT statements, but returns rows only from the first SELECT statement that are identical to a row in the second SELECT statement.
- This means INTERSECT returns only common rows returned by the two SELECT statements.
- Just as with the UNION operator, the same rules apply when using the INTERSECT operator.
- MySQL does not support the INTERSECT operator.

Syntax
- The syntax for INTERSECT is as follows:
[SQL Statement 1]
INTERSECT
[SQL Statement 2];
- The columns selected in [SQL Statement 1] and [SQL Statement 2] need to be of the same data type for INTERSECT to work.
Example
- We use the following tables for our example.
Table Store_Information
Store_Name | Sales | Txn_Date |
---|---|---|
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
Los Angeles | 300 | Jan-08-1999 |
Boston | 700 | Jan-08-1999 |
Table Internet_Sales
Txn_Date | Sales |
---|---|
Jan-07-1999 | 250 |
Jan-10-1999 | 535 |
Jan-11-1999 | 320 |
Jan-12-1999 | 750 |
- To find out all the dates where there are both store sales and internet sales, we use the following SQL statement:
SELECT Txn_Date FROM Store_Information
INTERSECT
SELECT Txn_Date FROM Internet_Sales;
Result:
Txn_Date
Jan-07-1999