共通SQL

CASE WHEN

条件に応じて返す値を分岐させる(if文)

解説

SQL文の中でプログラミング言語のif-else文のような条件分岐を実現するための式です。SELECT句、WHERE句、ORDER BY句など、式の書けるあらゆる場所で利用できます。

構文のポイント

  • 評価順序: 上から順に評価され、最初に条件に合致した THEN の値が返されます。
  • ELSEとEND: どの条件にも合致しない場合は ELSE の値が返されます(省略するとNULL)。文の最後には必ず END が必須です。
構文
CASE WHEN 条件1 THEN 値1 [WHEN 条件2 THEN 値2] [ELSE 値3] END
具体例
SELECT emp_name, CASE WHEN salary >= 300000 THEN '高給' ELSE '標準' END AS salary_grade FROM emps_test;

この構文を実際に書いて試してみませんか?

SQLエディタを開く