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;
= 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
);
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;
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 |
|---|---|---|---|
| 1 | Ana García | Madrid | España |
| 2 | Luis Pérez | Barcelona | España |
| 3 | María López | Valencia | España |
| 4 | Carlos Ruiz | Madrid | España |
| 6 | John Smith | London | UK |
| … 5 clientes más en la demo (10 en total) | |||
Base de datos de demostración: Productos
| ID_Producto | Nombre_Producto | Precio | Stock |
|---|---|---|---|
| 1 | Café expreso | 12.50 | 120 |
| 2 | Té verde | 8.00 | 200 |
| 3 | Salsa de tomate | 3.20 | 340 |
| 4 | Galletas de avena | 4.50 | 180 |
| 5 | Queso manchego | 15.00 | 90 |
| 6 | Arroz integral | 2.80 | 500 |
| 7 | Jamón serrano | 22.00 | 60 |
| 8 | Manzanas Golden | 1.90 | 400 |
| 9 | Salmón fresco | 18.50 | 45 |
| 10 | Aceite de oliva | 9.90 | 150 |
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.