WHERE 條件子句
WHERE 子句用來篩選符合條件的資料,是 SQL 查詢中最常用的功能之一。
語法
SELECT column1, column2, ...
FROM table_name
WHERE condition;
基本用法
假設有一個 customers 資料表:
| id | name | city | salary |
|---|---|---|---|
| 1 | 張一 | 台北 | 50000 |
| 2 | 王二 | 高雄 | 35000 |
| 3 | 李三 | 台北 | 60000 |
查詢住在台北的客戶:
SELECT * FROM customers WHERE city = '台北';
結果:
| id | name | city | salary |
|---|---|---|---|
| 1 | 張一 | 台北 | 50000 |
| 3 | 李三 | 台北 | 60000 |
比較運算子
| 運算子 | 說明 | 範例 |
|---|---|---|
| = | 等於 | WHERE city = '台北' |
| <> 或 != | 不等於 | WHERE city <> '台北' |
| > | 大於 | WHERE salary > 40000 |
| < | 小於 | WHERE salary < 40000 |
| >= | 大於等於 | WHERE salary >= 50000 |
| <= | 小於等於 | WHERE salary <= 50000 |
多條件查詢
使用 AND 和 OR 組合多個條件:
-- AND:兩個條件都要符合
SELECT * FROM customers
WHERE city = '台北' AND salary > 40000;
-- OR:符合其中一個條件即可
SELECT * FROM customers
WHERE city = '台北' OR city = '高雄';
使用括號控制優先順序:
SELECT * FROM customers
WHERE city = '台北' AND (salary > 40000 OR status = 'VIP');
其他條件運算子
| 運算子 | 說明 | 連結 |
|---|---|---|
| IN | 在指定值集合中 | WHERE city IN ('台北', '高雄') |
| BETWEEN | 在範圍內 | WHERE salary BETWEEN 30000 AND 50000 |
| LIKE | 模糊比對 | WHERE name LIKE '王%' |
| IS NULL | 是否為 NULL | WHERE phone IS NULL |
注意事項
- 字串值要用單引號包起來:
'台北' - 數值不需要引號:
50000 - NULL 值要用
IS NULL判斷,不能用= NULL