The SQL ANY and ALL Operators
ANY와 ALL 연산자는 WHERE 또는 HAVING절에 사용된다.
ANY 연산자는 하위쿼리 값이 조건에 만족한다면 true를 반환함
ALL 연산자는 모든 하위쿼리 값이 조건에 만족한다면 true를 반환함
ANY Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name FROM table_name WHERE condition);
ALL Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name FROM table_name WHERE condition);
SQL ANY Examples
OrderDetails테이블에서 수량이 10인 ANY 레코드가 있다면 TRUE를 반환하고 그 리스트를 보여줌
SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);
수량이 99보다 큰 ANY 레코드
SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity > 99);
SQL ALL Example
모든 레코드의 수량이 10이라면 True(하나라도 수량이 10이 아니라면 False이므로 아무것도 표시x)
SELECT ProductName
FROM Products
WHERE ProductID = ALL (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);
Comments