सब-क्वेरीज़

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

Dean Smith

Founder, Atamai Analytics

सब-क्वेरी कैसी दिखती हैं?

सब-क्वेरी

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

सब-क्वेरी कैसी दिखती हैं?

आउटर-क्वेरी के साथ सब-क्वेरी

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

FROM के साथ सब-क्वेरी

FROM के साथ सब-क्वेरी

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

FROM के साथ सब-क्वेरी

SELECT OrderID, 
       CustomerID, 
       NumDays
FROM 
    (SELECT *, 
     DATEDIFF(DAY,OrderDate,ShippedDate) AS NumDays 
     FROM Orders) AS o
WHERE NumDays >= 35;
OrderID CustomerID NumDays
10380 HUNGO 35
10427 PICCO 35
10545 LAZYK 35
10593 LEHMS 35
10660 HUNGC 37
10777 GOURL 37
10924 BERGS 35
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

WHERE के साथ सब-क्वेरी

WHERE के साथ सब-क्वेरी

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

WHERE के साथ सब-क्वेरी

SELECT CustomerID
       ,CompanyName 
FROM Customers
WHERE CustomerID 
         IN (SELECT CustomerID 
         FROM Orders 
         WHERE Freight > 800);
CustomerID CompanyName
QUEEN Queen Cozinha
QUICK QUICK-Stop
SAVEA Save-a-lot Markets
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

SELECT के साथ सब-क्वेरी

SELECT के साथ सब-क्वेरी

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

SELECT के साथ सब-क्वेरी

SELECT CustomerID, 
       CompanyName, 
        (SELECT AVG(Freight) 
        FROM Orders o 
        WHERE c.CustomerID = o.CustomerID) AS AvgFreight
FROM Customers c;
CustomerID CompanyName AvgFreight
ALFKI Alfreds Futterkiste 37.6
ANATR Ana Trujillo Emparedados y helados 24.4
ANTON Antonio Moreno Taquería 38.4
... ... ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

सब-क्वेरी के प्रकार

Uncorrelated sub-query

SELECT CustomerID
       ,CompanyName 
FROM Customers
WHERE CustomerID IN

(SELECT CustomerID FROM Orders WHERE Freight > 800);
  • सब-क्वेरी में आउटर-क्वेरी का संदर्भ नहीं होता
  • सब-क्वेरी आउटर-क्वेरी से स्वतंत्र चल सकती है
  • WHERE और FROM के साथ उपयोग होती है

Correlated sub-query

SELECT CustomerID, 
       CompanyName,

(SELECT AVG(Freight) FROM Orders o WHERE c.CustomerID = o.CustomerID) AS AvgFreight
FROM Customers c;
  • सब-क्वेरी में आउटर-क्वेरी का संदर्भ होता है
  • सब-क्वेरी आउटर-क्वेरी से स्वतंत्र नहीं चल सकती
  • WHERE और SELECT के साथ उपयोग होती है
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

सब-क्वेरी का परफॉर्मेंस

Correlated

  • सब-क्वेरी आउटर-क्वेरी की हर पंक्ति पर चलती है

Uncorrelated

  • सब-क्वेरी केवल एक बार चलती है और परिणाम आउटर-क्वेरी को देती है
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

सब-क्वेरी बनाम INNER JOIN

Correlated sub-query

SELECT CustomerID, 
       CompanyName, 
        (SELECT AVG(Freight) 
        FROM Orders o 
        WHERE c.CustomerID = o.CustomerID) AS AvgFreight
FROM Customers c;

INNER JOIN

SELECT c.CustomerID,
       c.CompanyName, 
       AVG(o.Freight)
FROM Customers c
INNER JOIN Orders o
    ON c.CustomerID = o.CustomerID
GROUP BY c.CustomerID,
         c.CompanyName;
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

अभ्यास करते हैं!

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

Preparing Video For Download...