AND & OR 運算符用于基于一個以上的條件對記錄進(jìn)行過濾。


SQL AND & OR 運算符

如果第一個條件和第二個條件都成立,則 AND 運算符顯示一條記錄。

如果第一個條件和第二個條件中只要有一個成立,則 OR 運算符顯示一條記錄。


演示數(shù)據(jù)庫

在本教程中,我們將使用 RUNOOB 樣本數(shù)據(jù)庫。

下面是選自 "Websites" 表的數(shù)據(jù):

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘寶          | https://www.taobao.com/   | 13    | CN      |
| 3  | php中文網(wǎng)      | http://miracleart.cn/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

AND 運算符實例

下面的 SQL 語句從 "Websites" 表中選取國家為 "CN" 且alexa排名大于 "50" 的所有網(wǎng)站:

實例

SELECT * FROM WebsitesWHERE country='CN'AND alexa > 50;

執(zhí)行輸出結(jié)果:



OR 運算符實例

下面的 SQL 語句從 "Websites" 表中選取國家為 "USA" 或者 "CN" 的所有客戶:

實例

SELECT * FROM WebsitesWHERE country='USA'OR country='CN';

執(zhí)行輸出結(jié)果:



結(jié)合 AND & OR

您也可以把 AND 和 OR 結(jié)合起來(使用圓括號來組成復(fù)雜的表達(dá)式)。

下面的 SQL 語句從 "Websites" 表中選取 alexa 排名大于 "15"  且國家為 "CN"  或 "USA" 的所有網(wǎng)站:

實例

SELECT * FROM WebsitesWHERE alexa > 15AND (country='CN' OR country='USA');

執(zhí)行輸出結(jié)果: