Symfoware Server SQLビギナーズガイド - FUJITSU - |
目次 索引 |
第6章 いろいろなデータ操作の方法 | > 6.2 いろいろな探索条件を指定する |
値が特定の範囲に含まれるかを調べるためには、BETWEEN述語を使用します。指定例を以下に示します。
例1
在庫表から在庫数量が50以上で100以下の行を取り出します。
SELECT … FROM 在庫管理.在庫表 WHERE 在庫数量 BETWEEN 50 AND 100 (1) (2) (3)(1) 値式1
(2) 値式2
(3) 値式3
(1)〜(3) BETWEEN述語
BETWEEN述語の結果は、3つの値式の値により以下の条件が満たされる場合、真となります。
値式2 <= 値式1 <= 値式3値式1が、値式2より小さいか値式3より大きい場合、結果は偽となります。
値式1がNULL値、値式1が値式2以上で値式3がNULL値、または値式1が値式3以下で値式2がNULL値の場合、結果は不定になります。
例2
在庫表の在庫数量が10以上で50以下、または200以上で300以下の行を取り出します。
SELECT … FROM 在庫管理.在庫表 WHERE 在庫数量 BETWEEN 10 AND 50 OR 在庫数量 BETWEEN 200 AND 300
例3
発注表から“仕入価格×発注数量”が100万未満または200万を超える行を取り出します。
SELECT … FROM 在庫管理.発注表 WHERE 仕入価格 * 発注数量 NOT BETWEEN 1000000 AND 2000000 ↑ NOTの指定この指定の結果は以下と同じになります。
SELECT … FROM 在庫管理.発注表 WHERE NOT 仕入価格 * 発注数量 BETWEEN 1000000 AND 2000000値が特定の範囲に含まれるかを調べるためには、比較述語も使用できます。BETWEEN述語で指定した例1を比較述語で指定すると、以下のようになります。
例4
在庫表から在庫数量が50以上で100以下の行を取り出します。
SELECT … FROM 在庫管理.在庫表 WHERE 在庫数量 BETWEEN 50 AND 100 ↓ SELECT … FROM 在庫管理.在庫表 WHERE 在庫数量 >= 50 AND 在庫数量 <= 100
目次 索引 |