始める無料で始める

SELECT内でサブクエリを使った計算

SELECT 内のサブクエリは、クエリ内で計算列を作成する際に便利な方法です。SELECT 内のサブクエリは単一の数値として扱われ、計算に利用できます。SELECT 内にサブクエリを書く際は、メインクエリへの絞り込みがサブクエリには適用されない点(逆も同様)に注意しましょう。

前の練習では、2013/2014 シーズンにおける各リーグの平均総得点と全体の平均得点を比較する列を作成しました。この練習では、全体の平均をサブクエリから引くことで、これらの値を直接比較する列を追加します。

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

SQL のデータ操作

コースを見る

演習の手順

  • メインクエリで、各リーグごとの平均得点を取得します。
  • サブクエリで、'2013/2014' シーズン全体の平均得点を取得します。
  • 各リーグの平均得点から、サブクエリで求めた値を引き算します。
  • '2013/2014' シーズンの試合のみが対象となるよう、メインクエリを絞り込みます。

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

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

SELECT
	-- Select the league name and average goals scored
	___ AS league,
	ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Subtract the overall average from the league average
	ROUND(AVG(___ + m.away_goal) ___ 
		(SELECT ___(___ + away_goal)
		 FROM match 
         WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;
コードを編集して実行