w3schools.com 을 참조하여 해석해본 자료입니다.
기본적으로 실행문의 결과값은 사이트에 직접가서 실행해보고 결과를 확인하는것이 좋습니다.
결과값이 너무 큰 경우 일부만 발췌하거나 기록하지 않았습니다.

The SQL ANY and ALL Operators
ANY W 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);
참고 : 연산자는 표준 비교 연산자 (=, <>,! =,>,> =, <또는 <=) 여야합니다.
Demo Database
다음은 Northwind 샘플 데이터베이스의 “Products”테이블에서 선택한 것입니다:
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
| 4 | Chef Anton’s Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
| 5 | Chef Anton’s Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
그리고 “OrderDetails”테이블의 선택항목 입니다 :
| OrderDetailID | OrderID | ProductID | Quantity |
| 1 | 10248 | 11 | 12 |
| 2 | 10248 | 42 | 10 |
| 3 | 10248 | 72 | 5 |
| 4 | 10249 | 14 | 9 |
| 5 | 10249 | 51 | 40 |
SQL ANY Examples
하위 쿼리 값 중 하나가 조건을 충족하면 ANY 연산자는 TRUE를 반환합니다.
다음 SQL 문은 TRUE를 리턴하고 quantity = 10 인 OrderDetails 테이블에 모든 레코드를 찾으면
제품 이름을 나열합니다:
Example
SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);
w3schools.com 에서 직접 실행해볼것
Result:
Number of Records: 31
| ProductName |
| Chais |
| Chang |
| Chef Anton’s Cajun Seasoning |
| Uncle Bob’s Organic Dried Pears |
| Konbu |
| Tofu |
| Pavlova |
| Teatime Chocolate Biscuits |
| Sir Rodney’s Scones |
| Guaraná Fantástica |
| NuNuCa Nuß-Nougat-Creme |
| Gumbär Gummibärchen |
| Thüringer Rostbratwurst |
| Nord-Ost Matjeshering |
| Sasquatch Ale |
| Steeleye Stout |
| Gravad lax |
| Côte de Blaye |
| Boston Crab Meat |
| Jack’s New England Clam Chowder |
| Singaporean Hokkien Fried Mee |
| Perth Pasties |
| Tourtière |
| Pâté chinois |
| Raclette Courdavault |
| Tarte au sucre |
| Louisiana Fiery Hot Pepper Sauce |
| Scottish Longbreads |
| Mozzarella di Giovanni |
| Rhönbräu Klosterbier |
| Original Frankfurter grüne Soße |
다음 SQL.은 TRUE를 리턴하고 quantity> 99 인 OrderDetails 테이블에 모든 레코드를 찾으면 제품 이름을 나열합니다:
Example
SELECT ProductName
FROM Products
WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity > 99);
w3schools.com 에서 직접 실행해볼것
Result:
Number of Records: 2
| ProductName |
| Steeleye Stout |
| Pâté chinois |
SQL ALL Example
ALL 연산자는 모든 하위 쿼리 값이 조건을 충족하면 TRUE를 반환합니다.
OrderDetails 테이블의 모든 레코드가 quantity = 10이면 다음 SQL 문은 TRUE를 반환하고 제품 이름을 나열합니다:
Example
SELECT ProductName
FROM Products
WHERE ProductID = ALL (SELECT ProductID FROM OrderDetails WHERE Quantity = 10);
w3schools.com 에서 직접 실행해볼것
Result:
Number of Records: 0
| ProductName |
'프로그래밍 > SQL' 카테고리의 다른 글
| [Mysql] - mysqldump (0) | 2020.12.18 |
|---|---|
| [SQL] - Comments(SQL 주석) (0) | 2020.04.02 |
| [SQL] - Wildcards(SQL 와일드카드) (0) | 2020.03.24 |
| [SQL] - UPDATE Statement(UPDATE 문) (0) | 2020.03.24 |
| [SQL] - TOP, LIMIT or ROWNUM Clause(TOP, LIMIT, ROWNUM 절) (0) | 2020.03.23 |