始める無料で始める

CTE で整理する

第 2 章で完成させたクエリを、共通テーブル式(CTE)を使って書き直しました。

今回は、さらに発展させ、CTE を使って得点が非常に高い試合の詳細を確認しましょう。FROM 句のサブクエリと同様に、CTE の中でテーブルを結合することもできます。

この演習はコースの一部です

SQL のデータ操作

コースを見る

演習の手順

  • リーグの name を含む全試合のリストを作成する CTE を宣言してください。
  • CTE からleaguedatehome 得点、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 ___;
コードを編集して実行