EXCEPT
Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy — Lektion 18 von 27.
EXCEPT gibt Zeilen zurück, die in der ersten Ergebnismenge erscheinen, aber nicht in der zweiten. Betrachten Sie es als Mengensubtraktion.
SELECT email FROM newsletter_subs
EXCEPT
SELECT email FROM premium_usersJeder Newsletter-Abonnent, der kein Premium-Nutzer ist. Dies ist nützlich, um fehlende Zeilen zu finden: Wer hat sich angemeldet, aber noch nicht bezahlt? Welche Produkte wurden letzten Monat bestellt, aber diesen Monat nicht?
Wie UNION und INTERSECT entfernt es Duplikate und erwartet übereinstimmende Spalten auf beiden Seiten.
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
<strong>last_month</strong>:<strong>product</strong><strong>this_month</strong>:<strong>product</strong>
Gib eine Spalte product zurück: jedes Produkt, das letzten Monat verkauft wurde, aber nicht diesen Monat. Alphabetisch sortieren.
Spickzettel
EXCEPT gibt Zeilen aus der ersten Ergebnismenge zurück, die nicht in der zweiten vorkommen (Mengen-Subtraktion). Duplikate werden automatisch entfernt.
SELECT email FROM newsletter_subs
EXCEPT
SELECT email FROM premium_usersBeide Seiten müssen die gleiche Anzahl an Spalten mit kompatiblen Typen haben.
Probier es selbst
-- Produkte in last_month, aber nicht in this_month
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.