始める無料で始める

FROM 句内のサブクエリを発展させる

前の練習では、データベースにある全試合の得点を合計して 10 点以上になる国は、イングランド、オランダ、ドイツ、スペインの 4 か国のみであることが分かりました。次は、これらの試合について詳しく調べましょう。試合が行われた日付、シーズン、そしてホーム得点とアウェイ得点の内訳を確認します。

今回の練習では、メインクエリで選択するすべての列にテーブルのエイリアスが付いていないことに気づくでしょう。これは、メインクエリサブクエリ からデータを取得しており、そのサブクエリが 1つのテーブル として扱われているためです。

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

SQL のデータ操作

コースを見る

演習の手順

  • FROM 句内のサブクエリを完成させてください。 country テーブルからcountry nameを、match テーブルから datehome_goalaway_goaltotal_goals の各列を選択してください。
  • サブクエリ内に、ホーム得点とアウェイ得点を合計した、total_goals という名前の列を作成してください。この列はメインクエリでフィルターとして使用します。
  • メインクエリで countrydatehome_goalaway_goal を選択してください。
  • 総得点が 10以上 の試合でメインクエリをフィルタリングしてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

SELECT
	-- Select country, date, home, and away goals from the subquery
    ___,
    date,
    ___,
    away_goal
FROM 
	-- Select country name, date, home_goal, away_goal, and total goals in the subquery
	(SELECT ___ AS country, 
     	    m.date, 
     		___, 
     		m.away_goal,
           (___ + m.away_goal) AS total_goals
    FROM match AS m
    LEFT JOIN country AS c
    ON m.country_id = c.id) AS subq
-- Filter by total goals scored in the main query
WHERE total_goals ___ ___;
コードを編集して実行