ALL und ANY in SQL vergleichen die Ergebnisse der Unterabfrage mit den Ergebnissen der Hauptabfrage. ALL erfordert, dass die Unterabfrage für jede Zeile „true“ zurückgibt, während ANY nur erfordert, dass sie für mindestens eine Zeile „true“ zurückgibt. Daher ist der ALL-Vergleich strenger und wird normalerweise verwendet, um festzustellen, ob alle Bedingungen erfüllt sind, während der ANY-Vergleich lockerer ist und verwendet wird, um festzustellen, ob mindestens eine Bedingung erfüllt ist.
Der Unterschied zwischen ALL und ANY in SQL
Antwort auf den Punkt gebracht:
ALL und ANY in SQL sind zwei verschiedene Schlüsselwörter, die verwendet werden, um die Ergebnisse von Unterabfragen mit den Ergebnissen der Hauptabfrage zu vergleichen Abfrage .
Detaillierte Antwort:
1. ALL
ALL-Operator prüft, ob die Unterabfrage für jede Zeile der Hauptabfrage einen wahren Wert zurückgibt. Der ALL-Vergleich gibt „true“ zurück, wenn die Unterabfrage für alle Zeilen „true“ zurückgibt; andernfalls gibt sie „false“ zurück.
Beispiel:
SELECT * FROM customer WHERE ALL (SELECT 1 FROM purchase WHERE customer_id = customer.id);
Diese Abfrage gibt alle Kunden zurück, von denen jeder mindestens einen Kauf getätigt hat.
2. ANY
ANY-Operator prüft, ob die Unterabfrage für eine beliebige Zeile der Hauptabfrage einen wahren Wert zurückgibt. Der ANY-Vergleich gibt „true“ zurück, wenn die Unterabfrage für mindestens eine Zeile einen wahren Wert zurückgibt; andernfalls gibt sie „false“ zurück.
Beispiel:
SELECT * FROM customer WHERE ANY (SELECT 1 FROM purchase WHERE customer_id = customer.id);
Diese Abfrage gibt alle Kunden zurück, von denen mindestens einer einen Kauf getätigt hat.
Zusammenfassung:
Operator | Beschreibung |
---|---|
ALL | Die Unterabfrage muss für alle Zeilen „true“ zurückgeben |
ANY | Mindestens eine Zeile gibt true zurück |
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen all und any in SQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!