MySQL EXISTS


ULASHISH

MySQL EXISTS operatori

EXISTS operatori WHERE bandida quyi so‘rov biror qator qaytarishini tekshirish uchun ishlatiladi.

EXISTS operatori agar quyi so‘rov kamida bitta qatorni qaytarsa, TRUE, aks holda FALSE deb baholaydi.

EXISTS sintaksisi

SELECT column_name(s)
FROM table_name
WHERE EXISTS (subquery);

Demo ma’lumotlar bazasi

Quyida Northwind namunaviy ma’lumotlar bazasidagi “Mahsulotlar” jadvalidan tanlab olingan:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18.00
2 Chang 1 1 24 - 12 oz bottles 19.00
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10.00
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22.00
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35

Va "Yetkazib beruvchilar" jadvalidan tanlov:

SupplierID Ta’minotchi nomi Kontakt nomi Manzil Shahar Pochta kodi Mamlakat
1 Ekzotik suyuqlik Sharlotta Kuper 49 Gilbert St. London EC1 4SD UK
2 Yangi Orlean Kajun lazzatlari Shelley Burke P.O. 78934 quti Yangi Orlean 70117 AQSh
3 Kelli buvining uyi Regina Merfi 707 Oksford ko‘chasi. Enn Arbor 48104 AQSh
4 Tokio savdogarlari Yoshi Nagase 9-8 Sekimai Musashino-shi Tokio 100 Yaponiya


MySQL EXISTS misollar

Quyidagi SQL har qanday yetkazib beruvchida 20 dan past narxga ega mahsulot borligini tekshiradi. Agar quyi so‘rov TRUE deb baholansa; Mahsulot narxi 20 dan past bo‘lgan yetkazib beruvchilarni sanab o‘ting:

Misol

SELECT SupplierName FROM Suppliers
WHERE EXISTS (
  SELECT ProductName
  FROM Products
  WHERE Products.SupplierID = Suppliers.supplierID AND Price < 20
);
O‘zingiz sinab ko‘ring »

Quyidagi SQL har qanday yetkazib beruvchida 22 ga teng narxga ega mahsulot mavjudligini tekshiradi. Agar quyi so‘rov TRUE deb baholansa; Mahsulot narxi 22 ga teng bo‘lgan yetkazib beruvchilarni sanab o‘ting:

Misol

SELECT SupplierName FROM Suppliers
WHERE EXISTS (
  SELECT ProductName
  FROM Products
  WHERE Products.SupplierID = Suppliers.supplierID AND Price = 22
);
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!