ANY and ALL Operators
ANY va ALL operatorlari bir ustun qiymati va boshqa qiymatlar diapazoni o'rtasida solishtirishni amalga oshirishga imkon beradi.
SQL ANY va ALL Operatorlari
ANY va ALL operatorlari bir ustun qiymati va boshqa qiymatlar diapazoni o'rtasida solishtirishni amalga oshirishga imkon beradi.
SQL ANY Operatori
ANY operatori:
- natija sifatida boolean qiymatini qaytaradi
- agar subso'rov qiymatlari shartga javob bersa, TRUE qaytaradi
- ANY demak, shart qiymatlar diapazonidagi har qanday qiymat uchun haqiqiy bo'lsa, shart to'g'ri bo'ladi.
ANY Sintaksisi
Eslatma: Operator standart solishtirish operatori bo'lishi kerak (=, <>, !=, >, >=, <, yoki <=)
.
SQL ALL Operatori
ALL operatori:
- natija sifatida boolean qiymatini qaytaradi
- agar subso'rov qiymatlari shartga javob bersa, TRUE qaytaradi
- SELECT, WHERE va HAVING bayonotlari bilan ishlatiladi
- ALL demak, shart qiymatlar diapazonidagi barcha qiymatlar uchun haqiqiy bo'lsa, shart to'g'ri bo'ladi.
ALL Sintaksisi SELECT bilan
ALL Sintaksisi WHERE yoki HAVING bilan
Eslatma
Operator standart solishtirish operatori bo'lishi kerak (=, <>, !=, >, >=, <, yoki <=)
Demo Ma'lumotlar Bazasi
Ushbu o'quv qo'llanmada Northwind namunaviy ma'lumotlar bazasidan "Products" jadvalidan bir tanlov:
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 |
Va "OrderDetails" jadvalidan bir tanlov:
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 Misollari
Quyidagi SQL bayonoti ProductName ni ro'yxatga oladi, agar OrderDetails jadvalida Quantity 10 ga teng bo'lgan har qanday yozuv mavjud bo'lsa (bu TRUE qaytaradi, chunki Quantity ustunida 10 ga teng ba'zi qiymatlar mavjud):
Quyidagi SQL bayonoti ProductName ni ro'yxatga oladi, agar OrderDetails jadvalida Quantity 99 dan katta bo'lgan har qanday yozuv mavjud bo'lsa (bu TRUE qaytaradi, chunki Quantity ustunida 99 dan katta ba'zi qiymatlar mavjud):
Quyidagi SQL bayonoti ProductName ni ro'yxatga oladi, agar OrderDetails jadvalida Quantity 1000 dan katta bo'lgan har qanday yozuv mavjud bo'lsa (bu FALSE qaytaradi, chunki Quantity ustunida 1000 dan katta qiymatlar mavjud emas):
SQL ALL Misollari
Quyidagi SQL bayonoti barcha mahsulot nomlarini ro'yxatga oladi:
Quyidagi SQL bayonoti ProductName ni ro'yxatga oladi, agar OrderDetails jadvalidagi barcha yozuvlarda Quantity 10 ga teng bo'lsa. Bu albatta FALSE qaytaradi, chunki Quantity ustunida turli xil qiymatlar mavjud (faqat 10 qiymati emas):