TOP

SQL ANY और ALL ऑपरेटर्स

SQL ANY और ALL विवरण

SQL कथन ANY और ALL आपको एक कॉलम के मान और अन्य मानों की श्रृंखला के बीच तुलना करने की अनुमति देते हैं।


SQL ANY विवरण

ANY ऑपरेटर:

  • परिणाम के रूप में एक बूलियन मान लौटाता है
  • यदि सबक्वेरी मानों में से ANY स्थिति से मेल खाता है तो TRUE लौटाता है
  • ANY का अर्थ है कि यदि सीमा में किसी भी मान के लिए ऑपरेशन सत्य है तो स्थिति सत्य होगी।

    ANY सिंटेक्स

    SELECT column_name(s)
    FROM table_name
    WHERE column_name operator ANY
      (SELECT column_name
       FROM table_name
       WHERE condition)
    
    ऑपरेटर को एक मानक तुलना ऑपरेटर (=, <>, !=, >, >=, <, या <=) होना चाहिए।

    एसक्यूएल ALL विवरण

    ऑपरेटर ALL:

  • परिणाम के रूप में एक बूलियन मान लौटाता है
  • यदि ALL सबक्वेरी मान स्थिति से मेल खाते हैं तो TRUE लौटाता है
  • SELECT, WHERE और HAVING ऑपरेटरों के साथ प्रयोग किया जाता है
  • ALL का अर्थ है कि स्थिति तभी सत्य होगी जब रेंज में सभी मानों के लिए ऑपरेशन सत्य होगा।

    ALL SELECT के साथ सिंटैक्स

    SELECT ALL column_name(s)
    FROM table_name
    WHERE condition
    

    ALL WHERE या HAVING के साथ सिंटैक्स

    SELECT column_name(s)
    FROM table_name
    WHERE column_name operator ALL
      (SELECT column_name
       FROM table_name
       WHERE condition)
    
    ऑपरेटर को एक मानक तुलना ऑपरेटर (=, <>, !=, >, >=, <, या <=) होना चाहिए।

    प्रदर्शन डेटाबेस

    निम्नलिखित "Products" ("उत्पाद") तालिका से "Northwind" डेटाबेस का एक नमूना है:

    ProductIDProductNameSupplierIDCategoryIDUnitPrice
    1Chais1110 boxes x 20 bags18.00
    2Chang1124 - 12 oz bottles19.00
    3Aniseed Syrup1212 - 550 ml bottles10.00
    4Chef Anton's Cajun Seasoning2248 - 6 oz jars22.00
    5Chef Anton's Gumbo Mix2236 boxes21.35
    6Grandma's Boysenberry Spread3212 - 8 oz jars25.00
    7Uncle Bob's Organic Dried Pears3712 - 1 lb pkgs.30.00
    8Northwoods Cranberry Sauce3212 - 12 oz jars40.00
    9Mishi Kobe Niku4618 - 500 g pkgs.97.00
    10Ikura4812 - 200 ml jars31.00

    और तालिका "OrderDetails" ("ऑर्डर विवरण") से नमूना:

    OrderDetailIDOrderIDProductIDQuantity
    1102481112
    2102484210
    310248725
    410249149
    5102495140
    6102504110
    7102505135
    8102506515
    910251226
    10102515715

    SQL ANY उदाहरण

    निम्नलिखित SQL क्वेरी ProductName को सूचीबद्ध करती है यदि उसे OrderDetails तालिका में 10 के बराबर Quantity मान वाला कोई (ANY) रिकॉर्ड मिलता है (यह TRUE लौटाएगा क्योंकि Quantity कॉलम में 10 के कुछ मान हैं):

    Run SQLSELECT ProductName
    FROM Products
    WHERE ProductID = ANY
      (SELECT ProductID
       FROM OrderDetails
       WHERE Quantity = 10)
    

    निम्नलिखित SQL क्वेरी ProductName को सूचीबद्ध करती है यदि उसे OrderDetails तालिका में 99 से अधिक मात्रा वाला कोई (ANY) रिकॉर्ड मिलता है (यह TRUE लौटाएगा क्योंकि Quantity कॉलम में 99 से अधिक कुछ मान हैं):

    Run SQLSELECT ProductName
    FROM Products
    WHERE ProductID = ANY
      (SELECT ProductID
       FROM OrderDetails
       WHERE Quantity > 99)
    

    एक अन्य SQL कथन ProductName को सूचीबद्ध करता है यदि उसे OrderDetails तालिका में 1000 से अधिक मात्रा वाला कोई (ANY) रिकॉर्ड मिलता है (यह FALSE लौटाएगा क्योंकि Quantity कॉलम में 1000 से अधिक मान नहीं हैं):

    Run SQLSELECT ProductName
    FROM Products
    WHERE ProductID = ANY
      (SELECT ProductID
       FROM OrderDetails
       WHERE Quantity > 1000)
    

    SQL ALL उदाहरण

    निम्नलिखित SQL कथन सभी (ALL) उत्पाद नामों को सूचीबद्ध करता है:

    Run SQLSELECT ALL ProductName
    FROM Products
    WHERE TRUE
    

    यदि OrderDetails तालिका में सभी (ALL) रिकॉर्ड की गिनती 10 के बराबर है, तो निम्न SQL कथन ProductName को सूचीबद्ध करता है। बेशक, यह FALSE लौटाएगा क्योंकि कॉलम Quantity में कई अलग-अलग मान हैं (सिर्फ मान 10 नहीं):

    Run SQLSELECT ProductName
    FROM Products
    WHERE ProductID = ALL
      (SELECT ProductID
       FROM OrderDetails
       WHERE Quantity = 10)