スカラーサブクエリを使ったフィルタリング
サブクエリは、複雑なフィルタリングやデータ変換を行うのに便利なツールです。WHERE 句や結合ではできないような方法で、単一の値(スカラー値)をもとにデータの絞り込みを行えます。また、より高度なデータ操作にも活用できます。リレーショナルデータベースを扱う実務の現場では、サブクエリは欠かせない存在です。
この練習では、2013/2014 シーズンの全試合が含まれる matches_2013_2014 テーブルから、両チームの得点の合計が、平均の 3 倍 を超える試合の一覧を作成します。
この演習はコースの一部です
SQL のデータ操作
演習の手順
- サブクエリを使って、全試合の ホーム得点 + アウェイ得点 の平均を 3 倍した値を計算しましょう。
- メインのクエリでフィルターをかけ、ホーム得点 + アウェイ得点の合計がサブクエリの値を超える試合を絞り込みましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
SELECT
date,
home_goal,
away_goal
FROM matches_2013_2014
-- Filter for matches where total goals is greater than 3x the average
WHERE (___ + ___) ___
(SELECT ___ * AVG(___ + ___)
FROM ___);