Suche…
EXISTS-Klausel
Kundentabelle
Ich würde | Vorname | Nachname |
---|---|---|
1 | Ozgur | Ozturk |
2 | Youssef | Medi |
3 | Henry | Tai |
Tabelle bestellen
Ich würde | Kundennummer | Menge |
---|---|---|
1 | 2 | 123,50 |
2 | 3 | 14,80 |
Erhalten Sie alle Kunden mit mindestens einer Bestellung
SELECT * FROM Customer WHERE EXISTS (
SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)
Ergebnis
Ich würde | Vorname | Nachname |
---|---|---|
2 | Youssef | Medi |
3 | Henry | Tai |
Erhalten Sie alle Kunden ohne Bestellung
SELECT * FROM Customer WHERE NOT EXISTS (
SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)
Ergebnis
Ich würde | Vorname | Nachname |
---|---|---|
1 | Ozgur | Ozturk |
Zweck
EXISTS
, IN
und JOIN
können manchmal für dasselbe Ergebnis verwendet werden, sie sind jedoch nicht gleich:
-
EXISTS
sollte verwendet werden, um zu überprüfen, ob ein Wert in einer anderen Tabelle vorhanden ist -
IN
sollte für die statische Liste verwendet werden -
JOIN
sollte verwendet werden, um Daten aus anderen (n) Tabellen abzurufen.
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow