SQL 比較条件、比較演算子

単純比較の条件述語: SQL における WHERE、START WITH、CONNECT BY、HAVING で使用するオペレーター(演算子)
グループ比較条件LIKE、IN、BETWEEN AND、IS NULL 比較

表1
演算子内容
=等しい
<>
!=
^=
¬=
等しくない
¬= は、あまり一般的でないプラットフォーム向け
<> は標準SQLに規定されている不等号
>
<
(左辺が)より大きい、より小さい
>=
<=
(左辺が)以上、以下

単純比較条件

単純比較条件は、2つの式、または、値を比較する単純比較は 表1 の演算子を利用できる。⇔ グループ比較条件

単純比較条件の例(等号の場合)

SQL> select 1 from dual where 1 = 1;
         1
----------
         1

リストによる単純比較

リスト、または、式リストの場合(右辺に1レコードのみ戻すサブクエリーを指定する必要がある)
リストにおいて単純比較で使用できるのは等号および不等号のみ。大小関係を比較する場合には グループ比較条件 を使用する。

SQL> select 1 from dual where (1,0) = (select 1,0 from dual);
         1
----------
         1

使用できない用法

SQL> select 1 from dual where (1,0) = (1,1);
select 1 from dual where (1,0) = (1,1)
                                 *
行1でエラーが発生しました。:
ORA-00920: 関係演算子が無効です。
SQL> select 1 from dual where (select 1,1 from dual) = (1,1);
select 1 from dual where (select 1,1 from dual) = (1,1)
                                                *
行1でエラーが発生しました。:
ORA-00936: 式がありません。
SQL> select 1 from dual where (select 1,0 from dual) = (select 1,0 from dual);
select 1 from dual where (select 1,0 from dual) = (select 1,0 from dual)
                          *
行1でエラーが発生しました。:
ORA-00913: 値の個数が多すぎます。
 


比較条件に関連する内容

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)