MySQL कोई भी और सभी ऑपरेटर
MySQL कोई भी और सभी ऑपरेटर
ANY
और ALL
ऑपरेटर आपको एकल कॉलम मान और अन्य मानों की श्रेणी के बीच तुलना करने की अनुमति देते हैं ।
कोई भी ऑपरेटर
संचालिका ANY
:
- परिणामस्वरूप एक बूलियन मान लौटाता है
- यदि कोई सबक्वेरी मान इस शर्त को पूरा करता है तो TRUE लौटाता है
ANY
इसका मतलब है कि यदि श्रेणी में किसी भी मान के लिए ऑपरेशन सही है तो शर्त सही होगी।
कोई सिंटैक्स
SELECT column_name(s)
FROM table_name
WHERE
column_name operator ANY
(SELECT column_name
FROM table_name
WHERE
condition);
नोट: ऑपरेटर को एक मानक तुलना ऑपरेटर (=, <>, !=, >, >=, <, या <=) होना चाहिए।
सभी ऑपरेटर
संचालिका ALL
:
- परिणामस्वरूप एक बूलियन मान लौटाता है
- यदि सभी सबक्वेरी मान इस शर्त को पूरा करते हैं तो TRUE लौटाता है
- के साथ प्रयोग किया जाता है
SELECT
,WHERE
औरHAVING
बयान
ALL
इसका मतलब है कि शर्त तभी सही होगी जब सीमा में सभी मानों के लिए ऑपरेशन सही हो।
चयन के साथ सभी सिंटेक्स
SELECT ALL column_name(s)
FROM table_name
WHERE
condition;
जहां या होने के साथ सभी सिंटेक्स
SELECT column_name(s)
FROM table_name
WHERE
column_name operator ALL
(SELECT column_name
FROM table_name
WHERE condition);
नोट: ऑपरेटर को एक मानक तुलना ऑपरेटर (=, <>, !=, >, >=, <, या <=) होना चाहिए।
डेमो डेटाबेस
नीचे नॉर्थविंड नमूना डेटाबेस में "उत्पाद" तालिका से चयन है:
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 |
और "ऑर्डर विवरण" तालिका से चयन:
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 कथन ProductName को सूचीबद्ध करता है यदि यह पाता है कि ऑर्डर विवरण तालिका में कोई भी रिकॉर्ड मात्रा 10 के बराबर है (यह TRUE लौटाएगा क्योंकि मात्रा कॉलम में 10 के कुछ मान हैं):
उदाहरण
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);
निम्न SQL कथन ProductName को सूचीबद्ध करता है यदि यह पाता है कि ऑर्डर विवरण तालिका में कोई भी रिकॉर्ड मात्रा 99 से बड़ा है (यह TRUE लौटाएगा क्योंकि मात्रा कॉलम में कुछ मान 99 से बड़े हैं):
उदाहरण
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 99);
निम्न SQL कथन ProductName को सूचीबद्ध करता है यदि यह पाता है कि ऑर्डर विवरण तालिका में कोई भी रिकॉर्ड मात्रा 1000 से बड़ा है (यह FALSE लौटाएगा क्योंकि मात्रा कॉलम में 1000 से बड़ा कोई मान नहीं है):
उदाहरण
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 1000);
एसक्यूएल सभी उदाहरण
निम्न SQL कथन सभी उत्पाद नामों को सूचीबद्ध करता है:
उदाहरण
SELECT ALL ProductName
FROM Products
WHERE TRUE;
निम्न SQL कथन ProductName को सूचीबद्ध करता है यदि ऑर्डर विवरण तालिका के सभी रिकॉर्ड में मात्रा 10 के बराबर है। यह निश्चित रूप से FALSE लौटाएगा क्योंकि मात्रा कॉलम में कई अलग-अलग मान हैं (न केवल 10 का मान):
उदाहरण
SELECT ProductName
FROM Products
WHERE ProductID = ALL
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);