SQLのCASE式の使い方は何ですか?
SQL CASE文には次のような使い方があります。
- シンプルなCASE式:
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE resultN
END
expressionの値に応じて、value1、value2などを順番に照合し、一致する場合は対応するresultの値を返し、一致しない場合はresultNの値を返す。
- CASE式の検索:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
conditionの値に応じて、condition1、condition2などを順次照合し、一致する場合は対応するresultの値を返し、一致しない場合はresultNの値を返す。
- CASE式は集計関数に使用されます。
SUM(CASE WHEN condition1 THEN 1 ELSE 0 END)
conditionの値に基づいて、SUM関数の結果を計算します。
- CASE式を使用してデータを更新します。
UPDATE table
SET column = CASE
WHEN condition1 THEN value1
WHEN condition2 THEN value2
...
ELSE valueN
END
conditionの値に基づいて、columnの値を更新する。
- CASE文はクエリを結合するために使用されます。
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END AS new_column
FROM table
conditionの値に基づいてresultを計算し、それを新しい列として返す。