SQL ALL Operator
READ ABOUT SQL ANY OPERATOR HERE.
SQL ALL operator used with WHERE or HAVING clause. It compares a value from WHERE or HAVING condition to ALL values from a subquery. It returns true if the result of subquery contains ALL selected rows. ALL must be preceded by one of the following 6 comparison operators
- Less than (<)
- Greater than (>)
- Less or equal to (<=)
- Greater or equal to (>=)
- Equal to (=)
- Not equal to <>
Let's take a look at the syntax:
SELECT column(s) FROM table WHERE column comparison_operator ALL (SELECT column FROM table WHERE condition);
As you can see in the syntax above, ALL must be preceded one of the 6 comparison operators.
Let's look at the example.
NOTE: Open a DEMO link which is given at the end of the article to understand the example better.
SELECT ItemName FROM items WHERE ItemID = ALL (SELECT ItemID FROM orderdetails WHERE Quantity > 10);
We have used 2 tables in the example. One is items and other one is orderdetails. As per the name items has items related details and orderdetails has the details of orders placed.
The SQL is going to execute the subquery inside ANY. It will check in the orderdetails that if there is an item which was ordered in more than 10 quantities in any order. If the subquery returns at ALL the rows, the results of the ANY will be set as TRUE and returns the ItemID.
In this case we will get 0 results even if we have order quantity more than 10 in some orders because it requires all the orders to be in more than 10 quantities.