WHERE 條件查詢

WHERE 概述

WHERE 是Oracle的條件查詢子句,用來過濾資料,只回傳符合搜尋條件的資料列。

語法順序重點:
WHERE 寫在FROM之後,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] NULL判斷NULL空值

程式碼範例

等值查詢
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. WHERE必須放在ORDER BY前面,不能調換順序。
  3. 判斷空值不可以使用= NULL,要使用IS NULL

WHERE 條件查詢

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *