Access SQLにおけるCASE文とは、条件に応じて異なる結果を返すための制御構文です。
この記事では、Access SQLにおけるCASE文の使い方と、実際の例を交えて解説します。
CASE文とは
CASE文は、条件分岐を行うための制御構文であり、次のように記述します。
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
...
ELSE result
END
ここで、condition1
からcondition3
までは、条件式であり、result1
からresult3
までは、条件が真である場合に返す値です。ELSE
節は、どの条件にも当てはまらない場合に返される値を指定します。
CASE文の使用例
例えば、従業員の評価を次のようなルールで決定する場合を考えてみます。
- 売上が 500 万円以上であれば「A」
- 売上が 300 万円以上であれば「B」
- 売上が 100 万円以上であれば「C」
- 売上が 100 万円未満であれば「D」
この場合、次のようなSQL文を記述することができます。
SELECT employee_name, sales,
CASE
WHEN sales >= 5000000 THEN 'A'
WHEN sales >= 3000000 THEN 'B'
WHEN sales >= 1000000 THEN 'C'
ELSE 'D'
END AS rating
FROM employee_table;
このSQL文によって、従業員名と売上とともに、評価を計算した結果が返されます。
ACCESS SQL CASE文のまとめ
ここでは、Access SQLのCASE文について概要を説明しました。
CASE文は、条件式を評価して、それに基づいて処理を分岐するために使用されます。
CASE文は、複雑な条件分岐を行うことができ、複数の条件に基づいて処理を実行することができます。Access SQLでは、IIF関数を使用して単純な条件分岐を行うことができますが、CASE文を使用することで、より複雑な条件分岐を行うことができます。
CASE文は、次のような構文で記述されます。
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE default_result
END
ここで、condition1~conditionNは条件式であり、評価されます。それに応じて、result1~resultNのいずれかが返されます。もし、全ての条件に一致しない場合は、default_resultが返されます。
また、CASE文は、単純な条件式だけでなく、複雑な条件式を含むこともできます。例えば、以下のように、AND、OR、NOTを組み合わせた条件式を指定することができます。
CASE
WHEN condition1 AND condition2 THEN result1
WHEN condition3 OR condition4 THEN result2
...
ELSE default_result
END
Access SQLのCASE文を使用することで、複雑な条件分岐を行うことができ、データの加工や集計などの処理を行う際に役立ちます。