SQL | TODOS y CUALQUIERA

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,

Tabla de productos

Tabla de detalles del pedido

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *