點擊上方SQL資料庫開發,關注獲取SQL視頻教程
AND 和 OR 運算符用於基於一個以上的條件對記錄進行過濾,通常使用在WHERE後面。其中AND表示並且的意思,OR表示或者的意思
AND 和 OR 使用AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。如果第一個條件和第二個條件都成立,則 AND 運算符顯示符合條件的記錄。如果第一個條件或第二個條件中只要有一個成立,則 OR 運算符顯示符合條件的記錄。我們要查詢城市是"廣州"並且姓名為"王五"的客戶信息,可以這樣寫
SELECT *
FROM customers
WHERE `城市`='廣州'
AND `姓名`='王五'
我們要查詢城市是"廣州"或者姓名為"王五"的客戶信息,可以這樣寫
SELECT *
FROM customers
WHERE `城市`='廣州'
OR`姓名`='王五'
OR則是只需要要滿足其中一個條件就會顯示相關數據,這裡城市為「廣州」的有兩天記錄,所以兩條都會顯示出來。我們在查詢時遇到比較複雜的條件時,AND和OR可能會一起使用。在使用OR的表達式時,如果是同類型的記得要用()包起來,否則會出現你意想不到的結果。例如我們想查詢姓名為"張三"或者"王五",並且他們所在的城市必須是"廣州"的客戶信息,可以這樣寫:
SELECT *
FROM customers
WHERE (`姓名`='張三' OR `姓名`='王五')
AND`城市`='廣州'
因為張三所在的城市並不是"廣州",所以被過濾掉了。
如果上面WHERE子句部分我們不加()會怎麼樣呢?
SELECT *
FROM customers
WHERE `姓名`='張三' OR `姓名`='王五'
AND`城市`='廣州'
由於沒有加括號,只要滿足姓名為"張三"的數據行就會被顯示,但與我們的需要是不一致的,所以在使用OR的時候務必讀懂需求。
點擊「
閱讀原文」了解SQL訓練營