SQL 강좌 30.SQL ANY and ALL Operators

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