Ähnlich wie der Befehl UNION bezieht sich auch INTERSECT auf zwei SQL-Anweisungen. Der Unterschied besteht darin, dass
UNION im Wesentlichen als ODER-Operator wirkt (Auswahl von Werten, die entweder in der ersten oder in der zweiten Anweisung vorkommen), der Befehl INTERSECT hingegen als UND-Operator (nur Auswahl von Werten, die in beiden Anweisungen vorkommen).
Die Syntax sieht folgendermaßen aus:
[SQL-Anweisung 1]
INTERSECT
[SQL-Anweisung 2]
Nehmen wir an, es liegen die folgenden zwei Tabellen vor,
Tabelle Store_Information
| store_name |
Sales |
Date |
| Los Angeles |
1500€ |
05.Jan.1999 |
| San Diego |
250€ |
07.Jan.1999 |
| Los Angeles |
300€ |
08.Jan.1999 |
| Boston |
700€ |
08.Jan.1999 |
Tabelle Internet_Sales
| Date |
Sales |
| 07.Jan.1999 |
250€ |
| 10.Jan.1999 |
535€ |
| 11.Jan.1999 |
320€ |
| 12.Jan.1999 |
750€ |
und wir möchten alle Tage herausfinden, an denen sowohl Verkäufe im Warenhaus als auch über Internet stattgefunden haben. Dazu verwenden wir folgende SQL-Anweisung:
SELECT Date FROM Store_Information
INTERSECT
SELECT Date FROM Internet_Sales
Ergebnis:
Beachten Sie bitte, dass der Befehl INTERSECT keine Mehrfachergebnisse ausgibt.