SQL | ALL and ANY

09 Feb, 2018
ALL & ANY are logical operators in SQL. They return boolean value as a result.
ALL
ALL operator is used to select all tuples of SELECT STATEMENT. It is also used to compare a value to every value in another value set or result from a subquery.
The ALL operator returns TRUE iff all of the subqueries values meet the condition. The ALL must be preceded by comparison operators and evaluates true if all of the subqueries values meet the condition.
ALL is used with SELECT, WHERE, HAVING statement.
ALL with SELECT Statement:
Syntax:
SELECT ALL field_name
FROM table_name
WHERE condition(s);

ALL with WHERE or HAVING Statement:
Syntax:
SELECT column_name(s)
FROM table_name
WHERE column_name comparison_operator ALL
(SELECT column_name
FROM table_name
WHERE condition(s));

Example:Consider the following Products Table and OrderDetails Table,
Queries
Find the name of the all the product.SELECT ALL ProductName 
FROM Products
WHERE TRUE;
Output:
SELECT ALL ProductName 
FROM Products
WHERE TRUE;

Output:
Find the name of the product if all the records in the OrderDetails has Quantity either equal to 6 or 2.SELECT ProductName 
FROM Products
WHERE ProductID = ALL (SELECT ProductId
                       FROM OrderDetails
                       WHERE Quantity = 6 OR Quantity = 2);
Output:
SELECT ProductName 
FROM Products
WHERE ProductID = ALL (SELECT ProductId
                       FROM OrderDetails
                       WHERE Quantity = 6 OR Quantity = 2);

Output:
Find the OrderID whose maximum Quantity among all product of that OrderID is greater than average quantity of all OrderID.SELECT OrderID 
FROM OrderDetails 
GROUP BY OrderID 
HAVING max(Quantity) > ALL (SELECT avg(Quantity) 
                            FROM OrderDetails 
                            GROUP BY OrderID);
Output:
SELECT OrderID 
FROM OrderDetails 
GROUP BY OrderID 
HAVING max(Quantity) > ALL (SELECT avg(Quantity) 
                            FROM OrderDetails 
                            GROUP BY OrderID);

Output:
ANY
ANY compares a value to each value in a list or results from a query and evaluates to true if the result of an inner query contains at least one row.
ANY return true if any of the subqueries values meet the condition.
ANY must be preceded by comparison operators.Syntax:
SELECT column_name(s)
FROM table_name
WHERE column_name comparison_operator ANY
(SELECT column_name
FROM table_name
WHERE condition(s));
Queries
Find the Distinct CategoryID of the products which have any record in OrderDetails Table.SELECT DISTINCT CategoryID
FROM Products 
WHERE ProductID = ANY (SELECT ProductID 
                       FROM OrderDetails);
Output:
SELECT DISTINCT CategoryID
FROM Products 
WHERE ProductID = ANY (SELECT ProductID 
                       FROM OrderDetails);

Output:
Finds any records in the OrderDetails table that Quantity = 9.SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID
                       FROM OrderDetails
                       WHERE Quantity = 9);

SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID
                       FROM OrderDetails
                       WHERE Quantity = 9);

This article is contributed by Anuj Chauhan. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
DBMS
DBMS
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Types of Functional dependencies in DBMS
Difference between OLAP and OLTP in DBMS
MySQL | Regular expressions (Regexp)
What is Temporary Table in SQL?
SQL | DDL, DML, TCL and DCL
Difference between Where and Having Clause in SQL
Relational Model in DBMS
Difference between File System and DBMS
Introduction of Relational Algebra in DBMS
Difference between Star Schema and Snowflake Schema