SQLのwhenはcase式で条件分岐を記述 複数指定やNULL判定も可能
  • facebookページ
  • twitterページ
  • 2020.06.30

    SQLのwhenはcase式で条件分岐を記述 複数指定やNULL判定も可能

    SQLのcase式で使うwhenについてまとめています。

    ※MySQLのサンプルデータベースEmployeesを使用しています。

    SQLのwhenは、case式の分岐条件を記述する

    case式では、分岐条件をwhenで指定した分だけ分岐条件を指定できます。

    以下の例では、select文の対象カラムにcase式を使い、在職中の社員にemployement、退職した社員には退職日時を表示しています。

    【関連記事】
    SQLのCASE式サンプル集 order byやgroup byとの組み合わせもバッチリ 

    CASE式のWHENでNULL判定をおこなうサンプル

    whenの条件指定にはNULL判定も可能です。

    下記のサンプルでは、社員番号499995 ~ 500000の社員に対してemp_no(社員番号)、first_name(名)、last_name(姓)を表示しています。first_nameがNULLの場合、UNKNOWNを表示しています。

    なお、employees(社員)テーブルのfirst_nameカラムにNULLを許可するため、以下のalter tableを実行しました。データ型以外が全てデフォルト設定となり、NULL許可に設定されます。

    NULL判定には、=NULLではなく、IS NULL演算子を使用します。

    【関連記事】
    SQL isnullの使い方 NULL判定やNULL置換の方法 case式でも対応可能

    まとめ

    ポテパンダの一言メモ
    • whenはcase式の条件指定を記述する
    • whenは複数指定が可能
    • whenでNULL判定をおこなう場合は、IS NULLを使用する


    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE