The SQL ANY and ALL Operators – SQL ANY болон ALL операторууд #
The ANY
and ALL
operators allow you to perform a comparison between a single column value and a range of other values.
ANY
болон ALL
операторууд нь ганц баганын утгыг бусад утгын хамрах хүрээтэй харьцуулах боломжийг олгодог.
The SQL ANY Operator – SQL ANY оператор #
The ANY
operator:
ANY
оператор нь:
- returns a boolean value as a result
boolean утга буцаана
- returns TRUE if ANY of the subquery values meet the condition
дэд хүсэлт дэх аль нэг утга нөхцөлийг хангаж байвал TRUE утга буцаана
ANY
means that the condition will be true if the operation is true for any of the values in the range.
ANY
гэдэг нь хамрах хүрээний аль нэг утга нь үнэн бол нөхцөл үнэн болно гэсэн үг.
ANY Syntax – ANY дүрэм #
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name
FROM table_name
WHERE condition);
SELECT багана_нэр(нүүд)
FROM хүснэгт_нэр
WHERE багана_нэр operator ANY
(SELECT багана_нэр
FROM хүснэгт_нэр
WHERE нөхцөл);
Note: The operator must be a standard comparison operator (=, <>, !=, >, >=, <, or <=).
Тэмдэглэл: Оператор нь стандарт харьцуулалтын оператор байх ёстой (=, <>, !=, >, >=, <, эсвэл <=).
The SQL ALL Operator – SQL ALL оператор #
The ALL
operator:
ALL
оператор нь:
- returns a boolean value as a result
boolean утга буцаана
- returns TRUE if ALL of the subquery values meet the condition
дэд хүсэлтийн бүх утга нөхцөлийг хангаж байвал TRUE утга буцаана
- is used with
SELECT
,WHERE
andHAVING
statements
SELECT
, WHERE
болон HAVING
хэллэгүүдийг хамт ашиглагддаг
ALL
means that the condition will be true only if the operation is true for all values in the range.
ALL
гэдэг нь хамрах хүрээний бүх утга нь үнэн бол нөхцөл үнэн болно гэсэн үг.
ALL Syntax With SELECT – SELECT-тэй ALL дүрэм #
SELECT ALL column_name(s)
FROM table_name
WHERE condition;
SELECT ALL багана_нэр(нүүд)
FROM хүснэгт_нэр
WHERE нөхцөл;
ALL Syntax With WHERE or HAVING – WHERE эсвэл HAVING-тэй ALL Дүрэм #
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name
FROM table_name
WHERE condition);
SELECT багана_нэр(нүүд)
FROM хүснэгт_нэр
WHERE багана_нэр operator ALL
(SELECT багана_нэр
FROM хүснэгт_нэр
WHERE нөхцөл);
Note: The operator must be a standard comparison operator (=, <>, !=, >, >=, <, or <=).
Тэмдэглэл: Оператор нь стандарт харьцуулалтын оператор байх ёстой (=, <>, !=, >, >=, <, эсвэл <=).
Demo Database – Жишээ мэдээллийн сан #
Below is a selection from the “Products” table:
Доорх жишээ нь “Бүтээгдэхүүнүүд” хүснэгтээс авсан хэсэг юм:
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 |
6 | Grandma’s Boysenberry Spread | 3 | 2 | 12 – 8 oz jars | 25 |
7 | Uncle Bob’s Organic Dried Pears | 3 | 7 | 12 – 1 lb pkgs. | 30 |
8 | Northwoods Cranberry Sauce | 3 | 2 | 12 – 12 oz jars | 40 |
9 | Mishi Kobe Niku | 4 | 6 | 18 – 500 g pkgs. | 97 |
And a selection from the “OrderDetails” table:
Бас “ДэлгэрэнгүйЗахиалга” хүснэгтийн хэсэг:
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
6 | 10250 | 41 | 10 |
7 | 10250 | 51 | 35 |
8 | 10250 | 65 | 15 |
9 | 10251 | 22 | 6 |
10 | 10251 | 57 | 15 |
SQL ANY Examples – SQL ANY жишээнүүд #
The following SQL statement lists the ProductName if it finds ANY records in the OrderDetails table has Quantity equal to 10 (this will return TRUE because the Quantity column has some values of 10):
Доорх SQL өгүүлбэр нь ДэлгэрэнгүйЗахиалга хүснэгтийн Тоо ширхэг баганад утга нь 10 гэсэн бүтээгдэхүүн байвал БүтээгдэхүүнНэр жагсаалтанд жагсаана (энэ нь ҮНЭН утга буцаана, учир нь Тоо ширхэг баганад 10 гэсэн утга байгаа):
Example – Жишээ #
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);
The following SQL statement lists the ProductName if it finds ANY records in the OrderDetails table has Quantity larger than 99 (this will return TRUE because the Quantity column has some values larger than 99):
Доорх SQL өгүүлбэр нь ДэлгэрэнгүйЗахиалга хүснэгтэд Тоо ширхэг нь 99-оос их ямар нэгэн бүтээгдэхүүн олвол БүтээгдэхүүнНэр жагсаалтанд жагсаана (энэ нь ҮНЭН утга буцаана, учир нь Тоо ширхэг баганад 99-ээс их утгатай бүтээгдэхүүн байгаа):
Example – Жишээ #
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 99);
The following SQL statement lists the ProductName if it finds ANY records in the OrderDetails table has Quantity larger than 1000 (this will return FALSE because the Quantity column has no values larger than 1000):
Доорх SQL өгүүлбэр нь ДэлгэрэнгүйЗахиалга хүснэгтэд Тоо ширхэг нь 1000-аас их ямар нэгэн бүтээгдэхүүн олвол БүтээгдэхүүнНэр жагсаалтанд жагсаана (энэ нь ХУДАЛ утга буцаана, учир нь Тоо ширхэг баганад 1000-аас их утгатай бүтээгдэхүүн байхгүй):
Example – Жишээ #
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 1000);
SQL ALL Examples – SQL ALL жишээнүүд #
The following SQL statement lists ALL the product names:
Доорх SQL өгүүлбэр нь бүх бүтээгдэхүүний нэрсийг жагсаана:
The following SQL statement lists the ProductName if ALL the records in the OrderDetails table has Quantity equal to 10. This will of course return FALSE because the Quantity column has many different values (not only the value of 10):
Дараах SQL өгүүлбэр нь ДэлгэрэнгүйЗахиалгууд хүснэгтийн Тоо ширхэг багана дах мэдээлэл бүгд 10-тай тэнцүү бол БүтээгдэхүүнНэр баганад жагсаана. Энэ нь ХУДАЛ утга буцаах болно, учир нь Тоо ширхэг баганад зөвхөн 10 гэсэн утгатай биш олон янзын утгуудыг агуулсан:
Example – Жишээ #
SELECT ProductName
FROM Products
WHERE ProductID = ALL
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);