AND 和 OR
如果你失憶了,希望你能想起曾經為了追求夢想的你。
QQ群:651080565(php/web 學習課堂)
我們查詢數據的時候,會使用條件來過濾數據,達到篩選效果,過濾不要的數據,獲取我們需要的。
最基本的就是WHERE子句 查詢:SELECT * FROM cs_user WHERE id = 10
這樣,我們可以查詢出 id = 10 的數據。這是一個單項選擇題一樣,只有一個條件過濾。
那么在一個表里:

我若,只要年齡(age) 在18-20之間的數據(包含18和20)。那么用上面的 WHERE 子句,單個條件,是難以獲取到我們想要的效果的,這時候,and和or 就來了,英語即時是初級的同學都明白,and 和 or的意思吧。。
AND(and) 並且
OR(or) 或者
理解它不難,但是實際運用,剛開始學習,邏輯可能理不清楚,就很麻煩了。我們看一下:
AND:SELECT * FROM cs_user WHERE age >= 18 AND age <= 20
圖:

對比cs_user表內,大於等於18 並且 小於等於20 ,正好兩條數據
OR:SELECT * FROM cs_user WHERE age >= 18 or age <= 20
看圖:

對比 AND 和 OR:
1.寫法無差異,他們最大的差異只有兩點:1是一個是 and 一個是 or;2是本身的含義,and(並且)、or(或者)
2.and 要滿足所有條件,必須滿足 age >= 18 也要滿足 age <= 20 ,兩者必須同時成功才可以顯示對應條件下的數據,否則沒有
or 則是只要滿足一條即刻,它獲取了 age >= 18 的數據,將其顯示, 然后再獲取 age <= 20 將其顯示
簡明的說:and必須滿足所有條件;or滿足一個條件即刻
例子:
用戶登陸操作,你在后台做數據判斷,你會這樣:用戶名 和 密碼 必須都正確才能登陸,這樣的話,就需要 and
用戶找回賬號,手機短信 或者 密保找回 都可以,這是一個選項條件, 就可以用到 or