खोज…


टिप्पणियों

उप-वर्ग बाहरी क्वेरी के अलग-अलग खंडों में या सेट ऑपरेशन में दिखाई दे सकते हैं।

उन्हें कोष्ठक () में संलग्न होना चाहिए। यदि सबक्वेरी के परिणाम की तुलना किसी और चीज से की जाती है, तो कॉलम की संख्या से मेल खाना चाहिए। अस्थायी तालिका का नाम देने के लिए FROM क्लॉज में उप-श्रेणियों के लिए टेबल उपनामों की आवश्यकता होती है।

WHERE क्लॉज में उपशम

परिणाम सेट को फ़िल्टर करने के लिए एक सबक्वेरी का उपयोग करें। उदाहरण के लिए यह सभी कर्मचारियों को उच्चतम वेतन वाले कर्मचारी के बराबर वेतन के साथ लौटाएगा।

SELECT *
FROM Employees
WHERE Salary = (SELECT MAX(Salary) FROM Employees)

FROM क्लॉज में उपशम

FROM क्लॉज में एक उपश्रेणी एक अस्थायी तालिका के समान कार्य करती है जो क्वेरी के निष्पादन के दौरान उत्पन्न होती है और बाद में खो जाती है।

SELECT Managers.Id, Employees.Salary
FROM (
  SELECT Id
  FROM Employees
  WHERE ManagerId IS NULL
) AS Managers
JOIN Employees ON Managers.Id = Employees.Id

चयन खंड में उपशम

SELECT
  Id, 
  FName, 
  LName,
  (SELECT COUNT(*) FROM Cars WHERE Cars.CustomerId = Customers.Id) AS NumberOfCars
FROM Customers

FROM क्लॉज में उपश्रेणियाँ

आप एक अस्थायी तालिका को परिभाषित करने के लिए उप-वर्गों का उपयोग कर सकते हैं और इसे "बाहरी" क्वेरी के FROM खंड में उपयोग कर सकते हैं।

SELECT * FROM (SELECT city, temp_hi - temp_lo AS temp_var FROM weather) AS w
WHERE temp_var > 20;

ऊपर मौसम तालिका से शहरों का पता चलता है जिसका दैनिक तापमान भिन्नता 20 से अधिक है। परिणाम है:

Faridabad temp_var
सेंट लुईस 21
लॉस एंजिलस 31
लॉस एंजिलस 23
लॉस एंजिलस 31
लॉस एंजिलस 27
लॉस एंजिलस 28
लॉस एंजिलस 28
लॉस एंजिलस 32

WHERE क्लॉज में उपश्रेणियाँ

निम्नलिखित उदाहरण शहरों को ( शहरों के उदाहरण से ) पाते हैं, जिनकी जनसंख्या औसत तापमान से कम है (उप-वर्ग के माध्यम से प्राप्त):

SELECT name, pop2000 FROM cities 
WHERE pop2000 < (SELECT avg(pop2000)  FROM cities);

यहाँ: सबक्वेरी (सेलेक्ट एवीजी (पॉप २००) शहरों से) का उपयोग WHERE क्लॉज में शर्तों को निर्दिष्ट करने के लिए किया जाता है। परिणाम है:

नाम pop2000
सैन फ्रांसिस्को 776,733
सेंट लुईस 348,189
कन्सास शहर 146,866

चयन खंड में उपश्रेणियाँ

सबक्वेरी भी इस्तेमाल किया जा सकता SELECT बाहरी क्वेरी का हिस्सा है। निम्नलिखित क्वेरी शहरों की तालिका से संबंधित राज्यों के साथ सभी मौसम तालिका कॉलम दिखाती है।

SELECT w.*,  (SELECT c.state FROM cities AS c WHERE c.name = w.city ) AS state 
FROM weather AS w;

भिन्न तालिका पर क्वेरी का उपयोग करके क्वेरी परिणामों को फ़िल्टर करें

यह क्वेरी सभी कर्मचारियों को पर्यवेक्षकों की मेज पर नहीं चुनती है।

SELECT *
FROM Employees
WHERE EmployeeID not in (SELECT EmployeeID
                            FROM Supervisors)

एक ही परिणाम एक बाईं ओर का उपयोग करके प्राप्त किया जा सकता है।

SELECT *
FROM Employees AS e
LEFT JOIN Supervisors AS s ON s.EmployeeID=e.EmployeeID
WHERE s.EmployeeID is NULL

परस्पर संबंधित उपवाक्य

सहसंबद्ध (जिसे सिंक्रोनाइज्ड या कोऑर्डिनेटेड भी कहा जाता है) सबवेरीटेड नेस्टेड क्वेश्चन हैं जो उनकी बाहरी क्वेरी की वर्तमान पंक्ति का संदर्भ देते हैं:

SELECT EmployeeId
    FROM Employee AS eOuter
    WHERE Salary > (
       SELECT AVG(Salary)
       FROM Employee eInner
       WHERE eInner.DepartmentId = eOuter.DepartmentId
    )

eOuter SELECT AVG(Salary) ... सहसंबद्ध है क्योंकि यह अपने बाहरी प्रश्न से Employee पंक्ति को संदर्भित करता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow