ANY y ALL

Compara un valor con cada fila que devuelve una subconsulta. ALL significa cada fila; ANY significa al menos una.

Sintaxis

WHERE column operator ALL (SELECT ...)
WHERE column operator ANY (SELECT ...)
  • El operador es una comparación como >, < o =.
  • = ANY es lo mismo que IN. > ALL y > ANY no tienen equivalente con IN.

Ejemplo

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

Productos que cuestan más que cada bebida: las dos porciones de tarta y el Sourdough loaf.

Tablas usadas: products. Pruébalo en una lección de abajo.

Errores comunes

  • ALL de una subconsulta vacía es verdadero para cada fila, lo que rara vez es lo que querías. ANY de una subconsulta vacía nunca es verdadero.

Practícalo