Los operadores ANY y ALL permiten realizar la comparacion entre un solo valor de la columna y un rango de
otros valores
El operador ANY devuelve un booleano (true, false)
Si alguno de los valores cumple la condicion, devuelve un true
ANY Sintaxis
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name
FROM table_name
WHERE condition);
Nota. El operador debe ser una comparación estándar operador(Mayor, Menor, Igual etc)
El operador ALL
Igual que el anterior operador, devuelve un booleano
devuelve true si TODOS los valores de la subconsulta cumplen la condición
se usa con SELECT, WHEREy HAVING declaraciones
ALL significa que la condición será verdadera solo si la operación es verdadera para todos los valores en el
rango.
...
ALL Sintaxis con SELECT
SELECT ALL column_name(s)
FROM table_name
WHERE condition;
ALL Sintaxis con WHERE o HAVING
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name
FROM table_name
WHERE condition);
NOTA El operador debe ser una comparación estándar operador( mayor, menor, igual etc)
Ejemplos de SQL ANY
La siguiente instrucción SQL enumera el ProductName si encuentra CUALQUIER registro en la tabla OrderDetails que
tenga una Cantidad igual a 10 (esto devuelva VERDADERO porque la columna Cantidad tiene algunos valores de 10):
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);
La siguiente instrucción SQL enumera el ProductName si encuentra CUALQUIER registro en la tabla OrderDetails que
tenga una Cantidad superior a 99 (esto devolverá VERDADERO porque la columna Cantidad tiene algunos valores mayores
que 99):
SELECT nombreProducto
FROM Productos
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 99);
La siguiente instrucción SQL enumera el ProductName si encuentra CUALQUIER registro en la tabla OrderDetails que tenga una cantidad superior a 1000 (esto devolverá FALSO porque la columna Cantidad no tiene valores mayores de 1000):
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 1000);
La siguiente instrucción SQL enumera TODOS los nombres de productos:
SELECT ALL ProductName
FROM Products
WHERE TRUE;
La siguiente instrucción SQL enumera el ProductName si TODOS los registros en el La tabla OrderDetails tiene una Cantidad igual a 10. Esto, por supuesto, devolverá FALSO porque la columna Cantidad tiene muchos valores diferentes (no solo el valor de 10):
SELECT ProductName
FROM Products
WHERE ProductID = ALL
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias