ANY e ALL

Confronta un valore con ogni riga restituita da una sottoquery. ALL significa ogni riga; ANY significa almeno una.

Sintassi

WHERE column operator ALL (SELECT ...)
WHERE column operator ANY (SELECT ...)
  • L'operatore è un confronto come >, < o =.
  • = ANY è uguale a IN. > ALL e > ANY non hanno un equivalente IN.

Esempio

SELECT name FROM products WHERE unit_price > ALL (SELECT unit_price FROM products WHERE category = 'drinks');

Prodotti più cari di ogni bevanda: le due fette di torta e il Sourdough loaf.

Tabelle usate: products. Provalo in una lezione qui sotto.

Errori comuni

  • ALL di una sottoquery vuota è vero per ogni riga, il che è raramente ciò che volevi. ANY di una sottoquery vuota non è mai vero.

Esercitati