1. Nauka
  2. /
  3. Kursy
  4. /
  5. Data Manipulation in SQL

Connected

ćwiczenie

Porządkujemy kod za pomocą CTE

W rozdziale 2 wygenerowałeś(-aś) listę krajów i liczbę meczów w każdym z nich, w których padło łącznie ponad 10 goli. Zapytanie z tamtego ćwiczenia wykorzystywało podzapytanie w klauzuli FROM, aby odfiltrować mecze przed ich zliczeniem w zapytaniu głównym. Oto zapytanie, które wtedy powstało:

SELECT
  c.name AS country,
  COUNT(sub.id) AS matches
FROM country AS c
INNER JOIN (
  SELECT country_id, id 
  FROM match
  WHERE (home_goal + away_goal) >= 10) AS sub
ON c.id = sub.country_id
GROUP BY country;

Jedno lub więcej podzapytań możesz zapisać jako wspólne wyrażenia tabelowe (CTE – Common Table Expressions), deklarując je przed zapytaniem głównym. To doskonały sposób na organizację informacji i nadanie zapytaniu logicznej struktury.

W tym ćwiczeniu przepiszesz podobne zapytanie z użyciem CTE.

Instrukcje

100 XP
  • Uzupełnij składnię, aby zadeklarować CTE.
  • W CTE wybierz country_id i id meczu z tabeli match.
  • Połącz CTE z tabelą ligi za pomocą LEFT JOIN, używając kolumny country_id.