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:
-
EXISTSsollte verwendet werden, um zu überprüfen, ob ein Wert in einer anderen Tabelle vorhanden ist -
INsollte für die statische Liste verwendet werden -
JOINsollte 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