SQL OR 運算子
SQL OR 運算子
WHERE
子句可以包含一個或多個 OR
運算子。
OR
運算子用於基於多個條件過濾記錄,例如,如果您想返回所有來自德國的客戶,但也想包括來自西班牙的客戶。
語法
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
OR 與 AND 對比
當任一條件為 TRUE 時,OR
運算子將顯示記錄。
當所有條件都為 TRUE 時,AND
運算子將顯示記錄。
演示資料庫
以下是示例中使用的 Customers 表的選擇
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
至少一個條件必須為 TRUE
以下 SQL 語句從 Customers 表中選擇所有欄位,其中 City 為“Berlin”,CustomerName 以字母“G”開頭,或 Country 為“Norway”。
示例
SELECT * FROM Customers
WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
自己動手試一試 »
AND 和 OR 的組合
您可以組合使用 AND
和 OR
運算子。
以下 SQL 語句選擇所有來自西班牙且名字以“G”或“R”開頭的客戶。
請確保使用括號以獲得正確的結果。
示例
選擇所有以“G”或“R”開頭的西班牙客戶
SELECT * FROM Customers
WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
自己動手試一試 »
沒有括號的情況下,SELECT 語句將返回所有來自西班牙且以“G”開頭的客戶,加上所有以“R”開頭的客戶,無論國家值如何。
示例
選擇所有滿足以下任一條件的客戶:
來自西班牙且以“G”開頭,或
以字母“R”開頭
SELECT * FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
自己動手試一試 »