MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
SQL Server - 条件分岐のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
SQL Server - 条件分岐
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == SQL文でIF文を記述すれば、WHERE句の内容を変えて検索できるが、<br> 条件ごとに同じようなSQL文を複数記述するのは面倒なので、1行で分岐できるSQL文を記載する。<br> <br><br> == CASE WHEN文で条件分岐 == WHERE句の条件にCASE WHENを使用して、条件分岐を行う。<br> <br> ===== テーブルとデータの準備 ===== まず、テーブルとその検索用データを作成する。<br> <source lang="sql"> CREATE TABLE 社員マスタ ( 社員番号 INT, 氏名 VARCHAR(20), 部署 VARCHAR(20) ) </source> <br> <source lang="sql"> INSERT INTO 社員マスタ VALUES (1, '太郎さん', '営業部' ) INSERT INTO 社員マスタ VALUES (2, '次郎さん', '経理部' ) INSERT INTO 社員マスタ VALUES (3, '三郎さん', '人事部' ) INSERT INTO 社員マスタ VALUES (4, '四郎さん', '営業部' ) INSERT INTO 社員マスタ VALUES (5, '五郎さん', '経理部' ) INSERT INTO 社員マスタ VALUES (6, '六郎さん', '人事部' ) INSERT INTO 社員マスタ VALUES (7, '七郎さん', '営業部' ) INSERT INTO 社員マスタ VALUES (8, '八郎さん', '経理部' ) INSERT INTO 社員マスタ VALUES (9, '九郎さん', '人事部' ) </source> <br> ===== 条件を分岐させて検索 ===== 社員番号を指定せずに全件取得する場合と、社員番号を指定して1件のみに絞り込んだものを実行する。<br> <source lang="sql"> ; 全件検索 DECLARE @検索社員番号 int = NULL SELECT * FROM 社員マスタ WHERE 社員番号 = CASE WHEN @検索社員番号 IS NULL THEN 社員番号 ELSE @検索社員番号 END </source> <br> ; 実行結果 社員番号 氏名 部署 1 太郎さん 営業部 2 次郎さん 経理部 3 三郎さん 人事部 4 四郎さん 営業部 5 五郎さん 経理部 6 六郎さん 人事部 7 七郎さん 営業部 8 八郎さん 経理部 9 九郎さん 人事部 <br> <source lang="sql"> ; 社員番号を指定して取得 DECLARE @検索社員番号 int = 5 SELECT * FROM 社員マスタ WHERE 社員番号 = CASE WHEN @検索社員番号 IS NULL THEN 社員番号 ELSE @検索社員番号 END </source> <br> ; 実行結果 社員番号 氏名 部署 5 五郎さん 経理部 <br> ===== 解説 ===== "WHERE 社員番号 = CASE WHEN @検索社員番号 IS NULL THEN 社員番号 ELSE @検索社員番号 END"において、<br> CASE WHEN文を使用することで、条件が指定されてない(@検索社員番号がNULL)場合は、テーブルの値をそのまま使用し、<br> 条件が指定された(@検索社員番号がNULL以外)の場合は、その指定された値で検索する。<br> <br> SQL文を記述する量を少なくすることができる。<br> <br><br> __FORCETOC__ [[カテゴリ:SQL_Server]]
SQL Server - 条件分岐
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse