職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

sqliteのCASE 句

2020年07月12日 | sqlite
CASE 句


【開発環境】
OS:Win10(64ビット)
データベース:SQLite3
コマンドプロンプト入力

【CASE 句】
CASE→カラムの値に応じて異なる結果を返す条件式の記述だよ。

・CASE句を使った条件分岐
書式
SELECT
CASE
WHEN 条件式1 THEN 式1
WHEN 条件式2 THEN 式2
ELSE 式3
END
FROM テーブル名;

例文
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
sqlite>
sqlite> .header on
sqlite> .mode column
sqlite>
sqlite> create table test(name text, result integer);
sqlite>
sqlite> insert into test values('Yamada', 85);
sqlite> insert into test values('Kondo', 54);
sqlite> insert into test values('Suzuki', 78);
sqlite> insert into test values('Endou', 98);
sqlite> insert into test values('Honda', 48);
sqlite> insert into test values('Takahashi', 68);
sqlite>
・ CASE 句を使用し result カラムの値に応じて異なる3つのデータを合わせて取得
sqlite> select
...> name, result,
...> case
...> when result > 80 then 'Pass'
...> when result > 60 then 'ReTest'
...> else 'Fail'
...> end as judgment
...> from test;
name result judgment
---------- ---------- ----------
Yamada 85 Pass
Kondo 54 Fail
Suzuki 78 ReTest
Endou 98 Pass
Honda 48 Fail
Takahashi 68 ReTest
sqlite>
・CASE句を使った値のリストとの比較
書式
SELECT
CASE 式
WHEN 値1 THEN 式1
WHEN 値2 THEN 式2
ELSE 式3
END
FROM テーブル名;

例文
テーブル作成
sqlite> create table user(name text, address text);
データ入力
sqlite> insert into user values('A_Electric', 'Tokyo');
sqlite> insert into user values('B_Motor', 'Chiba');
sqlite> insert into user values('C_Mobile', 'Kanagawa');
sqlite> insert into user values('D_Shipping', 'Osaka');
sqlite>
sqlite> select
...> name, address,
...> case address
...> when 'Tokyo' then 'Yamada'
...> when 'Kanagawa' then 'Furuta'
...> when 'Chiba' then 'Yamada'
...> else 'Endo'
...> end as sales
...> from user;
name address sales
---------- ---------- ----------
A_Electric Tokyo Yamada
B_Motor Chiba Yamada
C_Mobile Kanagawa Furuta
D_Shipping Osaka Endo
sqlite>

コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« カラムの値に対して四則演算... | トップ | SQLiteのGROUP BY句, HAVING句 »
最新の画像もっと見る

コメントを投稿

sqlite」カテゴリの最新記事