SQL ANY va ALL operatorlari
SQL ANY operatori
ANY operatori qiymatni pastki so‘rov tomonidan qaytarilgan har bir qiymatga solishtirish uchun ishlatiladi.
Agar quyi so‘rov natijalari to‘plamidagi kamida bitta qiymat shartga javob bersa, ANY operatori TRUE qiymatini beradi.
ANY sintaksisi
SELECT column_name(s)
FROM table_name
WHERE
column_name operator ANY (subquery);Eslatma: Operator standart taqqoslash operatori bo‘lishi kerak (=, <>, !=, >, >=, < yoki <=).
Demo ma’lumotlar bazasi
Quyida Northwind namunaviy ma’lumotlar bazasidagi "Products" jadvalidan tanlanma keltirilgan:
| ProductID | ProductName | Price |
|---|---|---|
| 1 | Chais | 18.00 |
| 2 | Chang | 19.00 |
| 3 | Aniseed Syrup | 10.00 |
| 4 | Chef Anton's Cajun Seasoning | 22.00 |
Va tanlanma "OrderDetails" jadvali:
| OrderDetailID | ProductID | Quantity |
|---|---|---|
| 1 | 11 | 12 |
| 2 | 42 | 10 |
| 3 | 72 | 5 |
| 4 | 14 | 9 |
SQL ANY misollari
Quyidagi SQL, agar "OrderDetails" jadvalida Quantity qiymati 10 ga teng bo‘lgan BIRORTA (ANY) yozuv topilsa, ProductName’ni qaytaradi (bu TRUE qaytaradi, chunki Quantity ustunida 10 ga teng qiymatlar bor):
Misol
SELECT ProductName FROM Products
WHERE ProductID = ANY (
SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10
);
O‘zingiz sinab ko‘ring »
Quyidagi SQL, agar "OrderDetails" jadvalida Quantity qiymati 99 dan katta bo‘lgan BIRORTA (ANY) yozuv topilsa, ProductName’ni qaytaradi (bu TRUE qaytaradi, chunki Quantity ustunida 99 dan katta qiymatlar bor):
Misol
SELECT ProductName FROM Products
WHERE ProductID = ANY (
SELECT ProductID
FROM OrderDetails
WHERE Quantity > 99
);
O‘zingiz sinab ko‘ring »
Quyidagi SQL, agar "OrderDetails" jadvalida Quantity qiymati 1000 dan katta bo‘lgan BIRORTA (ANY) yozuv topilsa, ProductName’ni qaytaradi (bu FALSE qaytaradi, chunki Quantity ustunida 1000 dan katta qiymat yo‘q):
Misol
SELECT ProductName FROM Products
WHERE ProductID = ANY (
SELECT ProductID
FROM OrderDetails
WHERE Quantity > 1000
);
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
