WHERE 条件検索

WHERE 概要

WHEREはOracleの条件検索句で、データをフィルタリングし、検索条件に合致した行だけを返します。

構文の順序のポイント:
WHEREFROMの後、ORDER BYの前に記述します。

完全な構文

SELECT
    column1,
    column2,
    ...
FROM
    tablename
WHERE
    search_condition
ORDER BY
    column1,
    column2;

比較演算子

演算子説明
=等しい
!= , <>等しくない
>より大きい
<より小さい
>=以上
<=以下
INリスト内のいずれかの値に一致
NOT INリスト内のどの値にも一致しない
[NOT] BETWEEN n AND m数値範囲内か判定
[NOT] EXISTSサブクエリが行を返すか判定
IS [NOT] NULLNULL値を判定

コード例

等値検索
SELECT
    id,
    name,
    sex
FROM
    student
WHERE
    name = 'tom';Code language: JavaScript (javascript)

Oracle実行結果:

SQL> select * from student where name = 'tom';

        ID NAME       SEX
---------- ---------- ----
         1 tom   男Code language: JavaScript (javascript)
数値比較、idが20より大きい
SELECT
    *
FROM
    student
WHERE
    id > 20;
論理和 OR
SQL> select * from student where id>1 or name = 'jim';

        ID NAME       SEX
---------- ---------- ----
         2 jim       男
         3 lisa      女Code language: JavaScript (javascript)
IN による集合マッチ
SELECT
    *
FROM
    student
WHERE
    id IN(1,4)
ORDER BY
    name;

実行結果:

SQL> select * from student where id in(1,3);

        ID NAME       SEX
---------- ---------- ----
         1 tom        男
         3 lisa       女Code language: JavaScript (javascript)
LIKE あいまい検索
SELECT
    *
FROM
    student
WHERE
    name LIKE 'l%'
ORDER BY
    name;Code language: JavaScript (javascript)

%はワイルドカードです。'l%'は「l」で始まる文字列を一致させます。

重要な注意点:

  1. 文字列の条件値は必ずシングルクォーテーションで囲む、例:name = 'jim'
  2. WHEREORDER BYの前に記述、順番を入れ替えてはいけません。
  3. NULL判定には= NULLは使わず、IS NULLを使用してください。

WHERE 条件検索

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です