アットウィキロゴ

Oracle Bronze10g SQL基礎I講座(Ⅲ)

第3章 条件について


3.1 条件とは

条件は、1つ以上の式と論理演算で構成され、TRUE(真)、FALSE(偽)、NULLのいずれかの値を返す。

(条件一覧)
比較条件 2つの式を比較して、その結果を返す
論理条件 式に対して論理演算子を行う
範囲条件 範囲に含まれるかどうかを調べる
IN条件 リスト内の項目と比較
NULL条件 NULL値かどうかを調べる
EXISTS条件 副問合せが条件を返すかどうか調べる
LIKE条件 文字列がパターンと一致するかどうかを調べる



3.2 比較条件

(比較条件指定の例(一部省略あり))

条件 説明
a<>b aとbが等しくない時、TRUE(真)、等しいときFALSE(偽)
a<=b aがb以下の時、TRUE(真)、そうでないときFALSE(偽)
a>=b aがb以上の時、TRUE(真)、そうでないときFALSE(偽)



3.3 論理演算

論理条件は、式に対して論理演算子を行う。

(表:論理条件一覧)
演算子 説明
NOT 真偽値を反転
AND どちらも真値のとき、TRUE(真)を返す。どちらかが偽値の時、FALSE(偽)を返す。
OR どちらかが真値のとき、TRUE(真)を返す。どちらも偽値のとき、FALSE(偽)を返す。

※AND条件※
【構文】式 AND 式
【説明】左辺、右辺どちらかがFALSE(偽)ならばFALSE(偽)を、両方ともTRUE(真)ならばTRUE(真)を返す。

※OR条件※
【構文】式 OR 式
【説明】左辺、右辺がともにFLASE(偽)のときは、FLASE(偽)、どちらかがTRUE(真)の場合はTRUE(真)を返す。



3.4 範囲条件

範囲条件は、範囲に含まれるかどうかを調べる

(表)範囲条件一覧
BETWEEN AND 2つの値の範囲にあるかどうか(両端を含む)
NOT BETWEEN AND 2つの値の範囲にないかどうか(両端は含まない)

※BETWEEN条件※
【構文】列名 BETWEEN 値1 AND 値2
【説明Ⅰ】・値1以上で、値2以下の範囲にある値の時、TRUE(真)を、そうでないとき、FALSE(偽)を返す。
【説明Ⅱ】・値1と値2の両端の値は、TRUE(真)となり、値2のほうが大きい場合は、エラーになりませんがFALSE(偽)となり選択されない。


※NOT BETWEEN条件※
【構文】列名 NOT BETWEEN 値1 AND 値2
【説明Ⅰ】・値1より小さいか、値2より大きい値のとき、TRUE(真)をそうでないときは、FALSE(偽)を返す。
【説明Ⅱ】・値1が値2より大きい場合、エラーにはなりませんが、TURE(真)となる。



3.5 IN条件

IN条件は、リスト内の項目と比較します。

(表)IN条件一覧
条件 説明
IN リストのいずれかと一致するか
NOT IN リストのいずれとも一致しないか

※IN条件※
【構文】列名 IN(値、...値)
【説明Ⅰ】・INで指定した値のリストのいずれかと一致したとき、TRUE(真)を、そうでないとき、FALSE(偽)を返す。
【説明Ⅱ】・IN条件のリスト内に、NULLを記述することはできますが、比較対象からは除外される。



3.6 NULL条件

NULL条件は、NULL値かどうかを調べる。

(表)NULL条件一覧
条件 説明
IS NULL NULL値かどうか
IS NOT NULL NULL値でないかどうか

※IS NULL条件※
【構文】列名 IS NULL
【説明Ⅰ】・NULLかどうかを調べる。NULLの時、TRUE(真)を、そうでないとき、FALSE(偽)を返す。

※IS NOT NULL条件※
【構文】列名 IS NOT NULL
【説明Ⅰ】・NULLでないかどうかを調べる。NULLのでない時、TRUE(真)を、そうでないとき、FALSE(偽)を返す。



3.7 EXISTS条件

EXISTS条件は、副問合せが条件を返すかどうか調べる

(表)EXISTS条件一覧
条件 説明
EXISTS 条件を満たす行があるかどうか
NOT EXISTS 条件を満たす行がないかどうか

※EXISTS条件※
【構文】EXISTS (副問合せ)
【説明Ⅰ】・副問合せが1行以上を戻すとき、TRUE(真)、そうでないときFALSE(偽)を返す

※NOT EXISTS条件※
【構文】NOT EXISTS (副問合せ)
【説明Ⅰ】・副問合せが行を戻さないとき、TRUE(真)、そうでないときFALSE(偽)を返す



3.8 LIKE条件

LIKE条件は、文字列パターンと一致するかどうかを調べる

(表)EXISTS条件一覧
条件 説明
LIKE パターンが一致するかどうか
NOT LIKE パターンが一致しないかどうか


※LIKE条件※
【構文】列名 LIKE '文字列'
【説明Ⅰ】・LIKE条件では、ワイルドカードの文字である%や_を検索するためにエスケープ文字を指定。
【説明Ⅱ】・大文字、小文字を区別するので注意。



3.9 条件の優先順位


(表)優先順位一覧
1 比較演算 比較条件
2 その他の条件 BETWEEN,IN,EXISTS,LIKE等
3 NOT 論理否定
4 AND 論理積
5 OR 論理和


最終更新:2008年08月06日 10:39