始める無料で始める

サブクエリとリストを使ったフィルタリング

この練習では、ホームで一度も試合を行ったことのないチームのリストを作成します。サブクエリを使って、フィルタリングなしの match テーブルから、hometeam_ID の一意の値のリストを作成し、team テーブルの team_api_ID 列から除外します。

単一の値(スカラー)を返すサブクエリを使ってフィルタリングできるだけでなく、サブクエリで値のリストを作成し、その結果を使って条件フィルタリングを行うことも可能です。このタイプのサブクエリは、メインクエリに対して1 列の値リストを作成します。リストの値がメインクエリのテーブル内の列と一致していれば、別テーブルの値のリストであっても、JOIN を使わずにフィルタリングできます。

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

SQL のデータ操作

コースを見る

演習の手順

  • WHERE 句内で、match テーブルからすべての hometeam_id の一意の値を取得するサブクエリを作成してください。
  • team テーブルから、team_long_nameteam_short_name を選択してください。メインクエリの結果から、サブクエリで取得した値をすべて、除外してください。

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

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

SELECT 
	-- Select the team long and short names
	___,
	___
FROM ___ 
-- Exclude all values from the subquery
WHERE team_api_id ___ ___
     (___ DISTINCT ___  FROM ___);
コードを編集して実行