ANY und ALL
Vergleiche einen Wert mit jeder Zeile, die eine Unterabfrage zurückgibt. ALL bedeutet jede Zeile; ANY bedeutet mindestens eine.
Syntax
WHERE column operator ALL (SELECT ...)WHERE column operator ANY (SELECT ...)
- Der Operator ist ein Vergleich wie >, < oder =.
- = ANY ist dasselbe wie IN. > ALL und > ANY haben kein IN-Äquivalent.
Beispiel
SELECT name FROM products WHERE unit_price > ALL (SELECT unit_price FROM products WHERE category = 'drinks');
Produkte, die teurer sind als jedes Getränk: die zwei Kuchenstücke und das Sourdough loaf.
Verwendete Tabellen: products. Probiere es unten in einer Lektion aus.
Häufige Fehler
- ALL einer leeren Unterabfrage ist für jede Zeile wahr, was selten gemeint ist. ANY einer leeren Unterabfrage ist nie wahr.