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