ALL & ANY son operadores lógicos en SQL. Devuelven un valor booleano como resultado.
TODOS
El operador ALL se usa para seleccionar todas las tuplas de SELECT STATEMENT. También se usa para comparar un valor con cada valor en otro conjunto de valores o resultado de una subconsulta.
- El operador TODO devuelve VERDADERO si todos los valores de las subconsultas cumplen la condición. ALL debe estar precedido por operadores de comparación y se evalúa como verdadero si todos los valores de las subconsultas cumplen la condición.
- ALL se usa con la instrucción SELECT, WHERE, HAVING.
TODO con instrucción SELECT:
Syntax: SELECT ALL field_name FROM table_name WHERE condition(s);
TODO con declaración DONDE o HAVING:
Syntax: SELECT column_name(s) FROM table_name WHERE column_name comparison_operator ALL (SELECT column_name FROM table_name WHERE condition(s));
Ejemplo:
considere la siguiente tabla de productos y la tabla de detalles de pedidos,
Consultas
- Encuentre el nombre de todo el producto.
SELECT ALL ProductName FROM Products WHERE TRUE;
Producción:
- Encuentre el nombre del producto si todos los registros en OrderDetails tienen una Cantidad igual a 6 o 2.
SELECT ProductName FROM Products WHERE ProductID = ALL (SELECT ProductId FROM OrderDetails WHERE Quantity = 6 OR Quantity = 2);
Producción:
- Encuentre el ID de pedido cuya cantidad máxima entre todos los productos de ese ID de pedido sea mayor que la cantidad promedio de todos los ID de pedido.
SELECT OrderID FROM OrderDetails GROUP BY OrderID HAVING max(Quantity) > ALL (SELECT avg(Quantity) FROM OrderDetails GROUP BY OrderID);
Producción:
NINGÚN
ANY compara un valor con cada valor de una lista o los resultados de una consulta y se evalúa como verdadero si el resultado de una consulta interna contiene al menos una fila.
- ANY devuelve verdadero si alguno de los valores de las subconsultas cumple la condición.
- ANY debe estar precedido por operadores de comparación.
Sintaxis:
SELECT column_name(s) FROM table_name WHERE column_name comparison_operator ANY (SELECT column_name FROM table_name WHERE condition(s));
Consultas
- Encuentre el ID de categoría distinto de los productos que tienen algún registro en la tabla OrderDetails.
SELECT DISTINCT CategoryID FROM Products WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails);
Producción:
- Encuentra cualquier registro en la tabla OrderDetails que Cantidad = 9.
SELECT ProductName FROM Products WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 9);
Este artículo es una contribución de Anuj Chauhan . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA