1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Manipulace s daty v SQL

Connected

Cvičení

Ukliď to pomocí CTE

Ve druhé kapitole jsi sestavil/a seznam zemí a počtu zápasů v každé zemi s více než 10 góly celkem. Dotaz v tomto cvičení využíval poddotaz v klauzuli FROM, aby bylo možné zápasy nejprve vyfiltrovat a teprve poté je v hlavním dotazu spočítat. Tady je dotaz, který jsi tehdy vytvořil/a:

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;

Jeden nebo více poddotazů můžeš zapsat jako společné tabulkové výrazy (CTE) tím, že je deklaruješ před hlavním dotazem. Je to skvělý způsob, jak organizovat informace a seřadit je v logickém pořadí.

V tomto cvičení přepišme podobný dotaz s využitím CTE.

Pokyny

100 XP
  • Doplň syntaxi pro deklaraci CTE.
  • V rámci CTE vyber country_id a id zápasu z tabulky match.
  • Připoj CTE k tabulce league pomocí LEFT JOIN na základě country_id.