Returns a single result set. The result set contains rows that are returned by both Select statements. Duplicates are returned unless the DISTINCT operator is added.
DISTINCT eliminates duplicate rows from the results.
Notes
When using the INTERSECT operator, the Select lists for each Select statement must have the same number of column expressions with the same data types and must be specified in the same order.
Example A
The following example has the same number of column expressions, and each column expression, in order, has the same data type.
SELECT last_name, salary, hire_date FROM emp
INTERSECT [DISTINCT]
SELECT name, pay, birth_date FROM person
Example B
The following example is not valid because the data types of the column expressions are different (salary FROM emp has a different data type than last_name FROM raises). This example does have the same number of column expressions in each Select statement but the expressions are not in the same order by data type.
SELECT last_name, salary FROM emp
UNION
SELECT salary, last_name FROM raises