शुरू करेंमुफ़्त में शुरू करें

Nested subqueries के साथ CTEs

अगर आप FROM क्लॉज़ में nested स्टेटमेंट के साथ कई subqueries सूचीबद्ध करते हैं, तो आपकी क्वेरी लंबी, जटिल और पढ़ने में कठिन हो सकती है.

क्योंकि कई क्वेरी भविष्य में सेव करके दोबारा चलाने के इरादे से लिखी जाती हैं, इसलिए सही संगठन एक स्मूथ वर्कफ़्लो के लिए ज़रूरी है। Subqueries को CTEs के रूप में व्यवस्थित करने से लंबे समय में आपका समय, जगह और भ्रम—all तीनों—बचेंगे!

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL में Data Manipulation

पाठ्यक्रम देखें

अभ्यास निर्देश

  • एक CTE घोषित करें जो '2013/2014' सीज़न के August में खेले गए मैचों के total गोल की गणना करे।
  • inner subquery में लिस्ट को फ़िल्टर करें ताकि केवल '2013/2014' सीज़न के August के मैच ही चुने जाएँ।
  • match_list CTE के country_id का उपयोग करके CTE को league टेबल पर LEFT JOIN करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

-- Set up your CTE
___ match_list ___ (
    SELECT 
  		country_id,
  	   (home_goal + away_goal) AS goals
    FROM match
  	-- Create a list of match IDs to filter data in the CTE
    WHERE id IN (
       SELECT ___
       FROM ___
       WHERE season = ___ AND EXTRACT(MONTH FROM ___) = ___))
-- Select the league name and average of goals in the CTE
SELECT 
	___,
    ___(___)
FROM league AS l
-- Join the CTE onto the league table using country_id
LEFT JOIN ___ ON l.id = match_list.___
GROUP BY l.name;
कोड संपादित करें और चलाएँ