CTE で整理する
第 2 章で完成させたクエリを、共通テーブル式(CTE)を使って書き直しました。
今回は、さらに発展させ、CTE を使って得点が非常に高い試合の詳細を確認しましょう。FROM 句のサブクエリと同様に、CTE の中でテーブルを結合することもできます。
この演習はコースの一部です
SQL のデータ操作
演習の手順
- リーグの
nameを含む全試合のリストを作成する CTE を宣言してください。 - CTE から、
league、date、home得点、away得点を選択してください。 - メインクエリをフィルタリングし、10 点以上の得点がある試合だけが表示されるようにしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Set up your CTE
___ match_list ___ (
-- Select the league name, date, home, and away goals
SELECT
___ AS league,
___,
___,
m.away_goal,
(m.home_goal + m.away_goal) AS total_goals
FROM match AS m
LEFT JOIN league as l ON m.country_id = l.id)
-- Select the league, date, home, and away goals from the CTE
SELECT ___, date, ___, away_goal
FROM ___
-- Filter by total goals
WHERE total_goals ___;