在實際查詢中,往往需要同時滿足多個條件,或只要滿足其中一個條件即可。SQL 提供 AND 與 OR 兩大布爾運算符來實現這類邏輯組合。
AND 要求左右兩側條件同時成立,行才會被返回。例如:
SELECT employeeid, firstname, lastname, title, salary
FROM employee_info
WHERE salary >= 50000.00 AND title = 'Programmer';
只有薪資 ≥ 50,000 且 職稱為 Programmer 的員工會出現在結果集中。任一條件不滿足,該行即被過濾掉。
OR 只要左右任一側為真,行就會被返回:
SELECT firstname, lastname, title, salary
FROM employee_info
WHERE (title = 'Sales') OR (title = 'Programmer');
職稱為 Sales 或 Programmer 的員工均會被選中。
雖然 SQL 預設 AND 優先級高於 OR,但建議始終使用括號明確分組:
WHERE (salary >= 50000.00) AND (title = 'Programmer');
這不僅避免邏輯錯誤,也讓後續維護者一眼看清條件結構。
AND 鏈前端,利用短路求值提升性能OR,考慮改用 IN 或 UNION ALL