Menu
Coddy logo textTech

INTERSECT

Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy — Lektion 17 von 27.

INTERSECT gibt nur Zeilen zurück, die in beiden Ergebnismengen vorkommen. Wie UNION entfernt es Duplikate und erfordert übereinstimmende Spalten auf jeder Seite.

SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_users

Das sind alle E-Mails, die sowohl den Newsletter abonniert haben als auch Premium-Nutzer sind, ohne einen Join schreiben zu müssen.

Warum die Mühe, wenn ein JOIN das auch tun kann? INTERSECT ist kürzer, wenn beide Seiten einfache SELECTs sind und man auf die gesamte Zeile abgleicht, nicht nur auf eine ID.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • <strong>newsletter</strong>: <strong>email</strong>, <strong>active</strong>
  • <strong>premium</strong>: <strong>email</strong>, <strong>plan</strong>

Geben Sie die E-Mails zurück, die sowohl als aktive Newsletter-Abonnenten (active = 1) als auch als Premium-Nutzer im 'pro'-Tarif erscheinen. Sortieren Sie alphabetisch.

Spickzettel

INTERSECT gibt nur Zeilen zurück, die in beiden Ergebnismengen vorkommen (Duplikate werden entfernt, Spalten müssen übereinstimmen):

SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_users

Verwenden Sie INTERSECT anstelle eines JOIN, wenn Sie Übereinstimmungen über ganze Zeilen hinweg in zwei einfachen SELECT-Anweisungen suchen.

Probier es selbst

-- jede Seite vor INTERSECT filtern
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Über die Grundlagen hinaus