相関サブクエリの始め方
相関サブクエリとは、メインクエリの 1 つ以上の列を参照するサブクエリのことです。相関サブクエリはメインクエリの情報に依存するため、単独では実行できません。
SQL では、相関サブクエリは取得するデータの行ごとに計算されます。そのため、通常のサブクエリと比べて、処理能力と時間をより必要とします。
ここでは、相関サブクエリを使って、極端な外れ値となる得点(平均得点の 3 倍以上)を記録した各国の試合を抽出する練習をします。
この演習はコースの一部です
SQL のデータ操作
演習の手順
WHERE句のサブクエリで、ホーム得点とアウェイ得点の平均(mean)を求めてください。mainテーブルとsubテーブルでcountry_idが一致するよう、サブクエリの列参照を完成させてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
SELECT
main.country_id,
main.date,
main.home_goal,
main.away_goal
FROM match AS main
WHERE
-- Filter the main query by the subquery
(home_goal + away_goal) >
(SELECT AVG((___ + sub.away_goal) * 3)
FROM match AS sub
-- Join the main query to the subquery with country_id in WHERE
WHERE main.___ = sub.___);