- 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.2.2. ブール演算子を使った述語
一般に、ブール式とは TRUE か FALSE というブール値を返すもので、ブール演算子は 1つ以上のブール値を関連づけて 1つのブール値を導き出すものです。SQL では NULL が存在することから、ブール値として TRUE, FALSE 及び UNKNOWN という 3つのブール値を使用する点で通常とは異なります。SQL が認識するブール演算子は AND, OR 及び NOT です。
NOT | NOT A という形でブール式を受け取って、その値を FALSE から TRUE に変更するか、TRUE から FALSE に変更します。次の表では NOT TRUE の場合、真理値として FALSE となることを示しています。 NOT を使用した場合の真理値
|
||||||||||||||||
AND | A AND B という形でブール式を 2つ受け取り、2つの式が両方とも TRUE の場合は TRUE、それ以外の場合は FALSE と評価します。次の表では、FALSE AND TRUE のとき真理値は FALSE, UNKNOWN AND TRUE のとき真理値は UNKNOWN となることを示しています。 AND を使用した場合の真理値
|
||||||||||||||||
OR | A OR B という形でブール式を 2つ受け取り、どちらかの式が TRUE の場合は TRUE、それ以外の場合は FALSE と評価します。 OR を使用した場合の真理値
|
NOT 演算子を使用したデータの参照例を sample.12-3 に示します。受注表から顧客コードが 001 でない全ての列を参照します。
-- sample.12-3 --/* データの参照 */ SELECT * FROM 受注表 WHERE NOT 顧客コード = '001' ;
/* 実行結果 */ 受注番号 顧客コード 商品コード 受注個数 納品日 ──── ───── ───── ──── ──── 10002 002 101 20 20010401 10005 003 101 15 20010403 10007 002 102 20 20010404 10008 002 101 20 20010405 10010 003 101 10 20010406 10012 003 103 20 20010407
AND 演算子を使用したデータの参照例を sample.12-4 に示します。受注表から、商品コードが 101 で受注個数が 15 以上の受注番号と顧客コードと納品日を参照します。尚、分かりやすいように商品コードと受注番号も参照するように記述してあります。
-- sample.12-4 --/* データの参照 */ SELECT 受注番号, 顧客コード, 商品コード, 受注個数 FROM 受注表 WHERE 商品コード = '101' AND 受注個数 >= 15 ;
/* 実行結果 */ 受注番号 顧客コード 商品コード 受注個数 ──── ───── ───── ──── 10002 002 101 20 10005 003 101 15 10006 001 101 15 10008 002 101 20
OR 演算子を使用したデータの参照例を sample.12-5 に示します。受注表から顧客コードが 003 または商品コードが 102 の受注番号、顧客コード、商品コードを参照します。
-- sample.12-5 --/* データの参照 */ SELECT 受注番号, 顧客コード, 商品コード FROM 受注表 WHERE 顧客コード = '003' OR 商品コード = '102' ;
/* 実行結果 */ 受注番号 顧客コード 商品コード ──── ───── ───── 10001 001 102 10005 003 101 10007 002 102 10009 001 102 10010 003 101 10011 001 102 10012 003 103
関連記事
- [SQL] 2. SQL 6 : テーブルのデータを取り出すSQLを簡単に説明します
- [SQL] 4. データの入力・変更・削除 1 : テーブルにデータを入力するSQLを説明します
- [SQL] 4. データの入力・変更・削除 2 : テーブルのデータを変更するSQLを説明します