1. 学ぶ
  2. /
  3. コース
  4. /
  5. SQL のデータ操作

Connected

演習

CASE 式のフィルタリング

イタリアの Bologna チームが勝利した試合の一覧を作成しましょう。2 つのテーブルには多くのチームが含まれているため、クエリを使いやすくするために、CASE 式を WHERE 句の中のフィルターとして活用しましょう。

CASE 式を使うと、関心のあるデータだけを分類し、不要なデータを除外できます。具体的には、CASE 式を WHERE 句のフィルターとして使用し、不要な結果を除きます。

設定例は次のとおりです。

SELECT *
FROM table
WHERE 
    CASE WHEN a > 5 THEN 'Keep'
         WHEN a <= 5 THEN 'Exclude' END = 'Keep';

CASE 式は、データベース内の他の列と同様に、フィルターとしても使用できます。唯一の違いは、WHERE 句内ではエイリアス(別名)を付けないという点です。

指示

100 XP
  • CASE 式を WHERE 句内で使い、hometeam_id が 9857 かつホーム得点がアウェイ得点を上回る試合に絞り込みましょう。
  • CASE 式を WHERE 句内で使い、awayteam_id が 9857 かつアウェイ得点がホーム得点を上回る試合に絞り込みましょう。
  • Bologna が勝利しなかった試合を除外するよう、CASE 式を締めくくってください。