SQL 5章 データの参照
- 5.1. SELECT によるデータの参照
- 5.2. 条件付き参照
- 1. 不等式を使った述語
- 2. ブール演算子を使った述語
- 5.3. 特殊演算子
- 1. IN 演算子
- 2. BETWEEN 演算子
- 3. LIKE 演算子
- 4. IS NULL 演算子
- 5.4. 集約関数
- 5.5. グループ化
- 1. GROUP BY 句
- 2. HAVING 句
- 5.6. 並べ替えと名前付け
5.3. 特殊演算子
SQL には、前節で説明したブール演算子の他に、IN, BETWEEN, LIKE, IS NULL といった特殊な演算子が用意されています。これらの演算子を利用することでさらに複雑な条件を与えてテーブルからデータを参照することができるようになります。
5.3.1. IN 演算子
IN 演算子を利用することで、含まれる値と含まれない値の集合を明示的に定義することができます。受注表から顧客コードが 001 と 002 であるものを参照するとき、IN 演算子を利用せずに次のように書けます。
-- sample.13-1 --/* データの参照 */ SELECT * FROM 受注表 WHERE 顧客コード = '001' OR 顧客コード = '002' ;
/* 実行結果 */ 受注番号 顧客コード 商品コード 受注個数 納品日 ─────── ──────── ───────── ─────── ────── 10001 001 102 30 20010401 10002 002 101 20 20010401 10003 001 103 10 20010402 10004 001 103 15 20010402 10006 001 101 15 20010404 10007 002 102 20 20010404 10008 002 101 20 20010405 10009 001 102 20 20010406 10011 001 102 25 20010407
これと同じ事が IN 演算子を利用すると、より簡単な文で書くことができます。
-- sample.13-2 --/* データの参照 */ SELECT * FROM 受注表 WHERE 顧客コード IN ('001','002') ;
/* 実行結果 */ 受注番号 顧客コード 商品コード 受注個数 納品日 ─────── ──────── ──────── ─────── ───── 10001 001 102 30 20010401 10002 002 101 20 20010401 10003 001 103 10 20010402 10004 001 103 15 20010402 10006 001 101 15 20010404 10007 002 102 20 20010404 10008 002 101 20 20010405 10009 001 102 20 20010406 10011 001 102 25 20010407
関連記事
- [SQL] 2. SQL 6 : テーブルのデータを取り出すSQLを簡単に説明します
- [SQL] 4. データの入力・変更・削除 1 : テーブルにデータを入力するSQLを説明します
- [SQL] 4. データの入力・変更・削除 2 : テーブルのデータを変更するSQLを説明します