演算子 | 説明 | 例 |
= | 等しいかどうかを検査します。 | SELECT ENAME "Employee" FROM EMP WHERE SAL = 1500; |
!=, ^=, <> | 等しくないかどうかを検査します。 | SELECT ENAME FROM EMP WHERE SAL ^= 5000; |
> | より大きいかどうかを検査します。 | SELECT ENAME "Employee", JOB "Title" FROM EMP WHERE SAL > 3000; |
< | より小さいかどうかを検査します。 | SELECT * FROM PRICE WHERE MINPRICE < 30; |
>= | より大きいかまたは等しいかを検査します。 | SELECT * FROM PRICE WHERE MINPRICE >= 20; |
<= | より小さいかまたは等しいかを検査します。 | SELECT ENAME FROM EMP WHERE SAL <= 1500; |
IN | 要素のいずれかに等しいかを検査します。「=ANY」に相当します。 | SELECT * FROM EMP WHERE ENAME IN ('SMITH', 'WARD'); |
ANY/SOME | リスト内の各値または問合せで返された値と指定された値を比較します。=、!=、>、<、<=または>=の後に続けてください。問合せにより行が返されなかった場合には、FALSEに評価されます。 | SELECT * FROM DEPT WHERE LOC = SOME ('NEW YORK','DALLAS'); |
NOT IN | 「!=ANY」に相当します。集合の要素のいずれかがNULLの場合、FALSEに評価されます。 | SELECT * FROM DEPT WHERE LOC NOT IN ('NEW YORK', 'DALLAS'); |
ALL | リスト内のすべての値または問合せで返された値と指定された値を比較します。=、!=、>、<、<=または>=の後に続けてください。問合せにより行が返されなかった場合には、TRUEに評価されます。 | SELECT * FROM emp WHERE sal >= ALL (1400, 3000); |
[NOT] BETWEEN x and y | x以上y以下の範囲にあります(ありません)。 | SELECT ENAME, JOB FROM EMP WHERE SAL BETWEEN 3000 AND 5000; |
EXISTS | 副問合せが1行以上を返す場合はTRUEです。 | SELECT * FROM EMP WHERE EXISTS (SELECT ENAME FROM EMP WHERE MGR IS NULL); |
x [NOT] LIKE y [ESCAPE z] | xがyのパターンに一致する(しない)場合はTRUEです。yの中の文字「%」は、NULLを除く0文字以上の任意の文字列に一致します。文字「_」は、どの単一文字にも一致します。ESCAPEに続く文字はいずれも文字どおり解釈されます。yにパーセント(%)および下線(_)を含むときに便利です。 | SELECT * FROM EMP WHERE ENAME LIKE '%E%'; |
IS [NOT] NULL | NULLかどうかを検査します。NULLの検査に使用できる唯一の演算子です。 | SELECT * FROM EMP WHERE COMM IS NOT NULL AND SAL > 1500; |
ネタ元