上一篇我們介紹了SQL基本架構和語法,如何用簡單的SELECT 和 FROM 撈取資料。本篇我們來討論,如何根據指定的條件來篩選資料,僅返回符合條件的結果。
WHERE
WHERE 的基本語法
SELECT 欄位名稱
FROM 資料表
WHERE 條件;
條件 可以是基於欄位的邏輯運算,例如等於、不等於、大於、小於、BETWEEN、LIKE 等等。
以下是一些範例:
範例 1:篩選部門為 Sales 的員工
SELECT first_name, last_name, department
FROM employees_vocus
WHERE department = 'Sales';
範例 2:篩選薪水大於 5000 的員工
SELECT first_name, salary
FROM employees_vocus
WHERE salary > 5000;
範例 3:使用 BETWEEN 篩選薪水在 4800 到 5500 之間的員工
SELECT first_name, salary
FROM employees_vocus
WHERE salary BETWEEN 4800 AND 5500;
範例 4:使用 LIKE 篩選姓氏以 "S" 開頭的員工
SELECT first_name, last_name
FROM employees_vocus
WHERE last_name LIKE 'S%';
範例 5:使用 AND 和 OR 進行多重條件篩選
SELECT first_name, department, salary
FROM employees_vocus
WHERE department = 'IT' AND salary > 5000;
範例 6:使用 OR 篩選部門為 HR 或薪水大於 5500 的員工
SELECT first_name, department, salary
FROM employees_vocus
WHERE department = 'HR' OR salary > 5500;
範例 7:篩選 first_name
長度大於 4 的員工
SELECT first_name, last_name
FROM employees_vocus
WHERE LENGTH(first_name) > 4;
範例 8:篩選 last_name
開頭兩個字母是 "Sm" 的員工
SELECT first_name, last_name
FROM employees
WHERE LEFT(last_name, 2) = 'Sm';
-- SQLite
SELECT first_name, last_name
FROM employees_vocus
WHERE SUBSTR(last_name, 1, 2) = 'Sm';
範例 9:篩選 last_name
最後三個字母是 "son" 的員工
SELECT first_name, last_name
FROM employees
WHERE RIGHT(last_name, 3) = 'son';
SELECT first_name, last_name
FROM employees_vocus
WHERE SUBSTR(last_name, LENGTH(last_name) - 2, 3) = 'son';
範例 10:篩選部門是 Sales 或 IT 的員工
SELECT first_name, department
FROM employees_vocus
WHERE department IN ('Sales', 'IT');
WHERE 子句是 SQL 中的核心部分,它允許使用者根據條件對資料進行篩選。無論是單一條件還是多重條件,WHERE 都能靈活應用於數據查詢中。使用 LIKE、BETWEEN、AND 和 OR 等操作符,可以實現更複雜的篩選需求。
謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的Threads,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!