Zacznij terazZacznij za darmo

CTE z zagnieżdżonymi podzapytaniami

Jeśli w klauzuli FROM umieszczasz wiele zagnieżdżonych podzapytań, zapytanie szybko staje się długie, skomplikowane i trudne do czytania.

Ponieważ wiele zapytań jest zapisywanych z myślą o ponownym użyciu, odpowiednia organizacja kodu jest kluczem do sprawnej pracy. Przekształcenie podzapytań w CTE oszczędzi ci czasu, miejsca i niepotrzebnych nieporozumień!

To ćwiczenie jest częścią kursu

Data Manipulation in SQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Zadeklaruj CTE, który oblicza łączną liczbę goli z meczów rozegranych w sierpniu sezonu '2013/2014'.
  • Ogranicz wewnętrzne podzapytanie tak, aby wybierało wyłącznie mecze z sierpnia sezonu '2013/2014'.
  • Użyj LEFT JOIN, aby połączyć CTE z tabelą ligi na podstawie country_id z CTE match_list.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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;
Edytuj i uruchom kod