ANY y ALL en SQL

Los operadores ANY y ALL en SQL comparan un valor con el resultado de una subconsulta . Se usan con WHERE o HAVING junto a operadores como = , > o < .

ANY y ALL en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.

Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.

ANY y ALL en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.

Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.

ANY es verdadero si al menos un valor de la subconsulta cumple la condición. ALL exige que todos los valores la cumplan.


Sintaxis ANY en SQL

La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.

Plantilla

    SELECT columna
FROM tabla
WHERE columna operator ANY (
  SELECT columna FROM tabla WHERE condicion
);
  

Nota para el editor: nuestra demo usa SQLite, que no admite la palabra clave ANY . Los ejercicios usan equivalencias ( IN , MIN , MAX ) con el mismo significado.


Ejemplo ANY en SQL

Clientes con más ventas que algún cliente de España — equivalente a superar el mínimo de ventas entre los españoles:

Lógica de > ANY

    -- Estándar SQL:
WHERE N_Ventas > ANY (SELECT N_Ventas FROM Clientes WHERE Pais = 'España')

-- En el editor (SQLite):
SELECT Nombre_Cliente, N_Ventas
FROM Clientes
WHERE N_Ventas > (SELECT MIN(N_Ventas) FROM Clientes WHERE Pais = 'España')
ORDER BY N_Ventas DESC;
  
Abrir en editor

= ANY e IN en SQL

Cuando el operador es = , = ANY (subconsulta) es lo mismo que IN (subconsulta) :

Precios que coinciden con condimentos

    SELECT Nombre_Producto, Precio
FROM Productos
WHERE Precio IN (
  SELECT Precio FROM Productos WHERE ID_Categoria = 2
);
  
Abrir en editor

Sintaxis ALL en SQL

La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.

Plantilla

    SELECT columna
FROM tabla
WHERE columna operator ALL (
  SELECT columna FROM tabla WHERE condicion
);
  

Ejemplo ALL en SQL

Productos más caros que todos los de la categoría Frutas (ID 7) — equivalente a superar el máximo de esa categoría:

Lógica de > ALL

    SELECT Nombre_Producto, Precio
FROM Productos
WHERE Precio > (
  SELECT MAX(Precio) FROM Productos WHERE ID_Categoria = 7
)
ORDER BY Precio;
  
Abrir en editor

Tablas demo para ANY y ALL

Observa qué columnas devuelve la consulta y cómo se nombran con AS. Ese alias es lo que verás en la cuadrícula del editor.

ID_Cliente Nombre_Cliente Ciudad Pais
1Ana GarcíaMadridEspaña
2Luis PérezBarcelonaEspaña
3María LópezValenciaEspaña
4Carlos RuizMadridEspaña
6John SmithLondonUK
… 5 clientes más en la demo (10 en total)
Tabla Clientes (extracto). Diez clientes; cinco tienen pedidos.

Base de datos de demostración: Productos

ID_Producto Nombre_Producto Precio Stock
1Café expreso12.50120
2Té verde8.00200
3Salsa de tomate3.20340
4Galletas de avena4.50180
5Queso manchego15.0090
6Arroz integral2.80500
7Jamón serrano22.0060
8Manzanas Golden1.90400
9Salmón fresco18.5045
10Aceite de oliva9.90150
Tabla Productos en el editor SQL.

Resumen ANY y ALL

  • ANY — basta con que un valor de la subconsulta cumpla la condición.
  • ALL — deben cumplirla todos los valores.
  • = ANY IN ; > ANY > MIN(...) ; > ALL > MAX(...) .
  • Siguiente paso: FULL OUTER JOIN .

Cómo practicar en el editor

1. Pulsa Pruébalo tú mismo en un ejemplo.
2. Cambia un filtro, columna o literal.
3. Ejecuta y compara el resultado con la tabla de ejemplo.

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.