MySQL?SELECT數(shù)據(jù)查看WHERE(AND?OR?IN?NOT)語(yǔ)句
引言
“ 這是MySQL系列筆記的第七篇,文章內(nèi)容均為本人通過(guò)實(shí)踐及查閱資料相關(guān)整理所得,可用作新手入門(mén)指南,或者個(gè)人知識(shí)點(diǎn)查閱。”
上一節(jié)的 WHERE 查詢操作都是單條件的,如果想要實(shí)現(xiàn)多條件,則可以使用下面幾種邏輯語(yǔ)句:
- AND
- OR
- IN
- NOT
1、AND
AND 、OR 這種語(yǔ)句跟其他的計(jì)算機(jī)語(yǔ)言的使用是一樣的,這里就簡(jiǎn)單的寫(xiě)幾個(gè)例子。
AND 與邏輯,必須同時(shí)滿足
要選出 ID 值小于100 同時(shí)大于2的數(shù)據(jù),這是一個(gè) 與 句式,就使用 AND 來(lái)進(jìn)行連接。
select?*?from?book?where?id?>?2?and?id?<?100;
2、OR
OR 或邏輯,滿足條件之一即可
比如 id 值大于100 或者等于 1 的數(shù)據(jù),就使用 OR 來(lái)連接。
select?*?from?book?where?id?>?100?or?id?=?1;
注意: 當(dāng) AND 和 OR 組合在一起使用的時(shí)候,要注意的一點(diǎn)是,AND 的運(yùn)算是要優(yōu)先于 OR的。所以注意:使用括號(hào)區(qū)分優(yōu)先級(jí)是個(gè)好習(xí)慣。
3、IN
IN 是一個(gè)范圍枚舉,值在 IN 邏輯內(nèi)滿足的數(shù)據(jù)都可以取出來(lái)。
比如說(shuō),我們要取出 id 值為1 和 3 和100 的數(shù)據(jù),可以用 in (1, 3, 100)。
select?*?from?book?where?id?in?(1,?3,?100);
看到這個(gè)操作, 可能會(huì)想到,這個(gè)操作可以使用 OR 來(lái)實(shí)現(xiàn)多個(gè)連接。
是的,在效果上這樣操作確實(shí)是一樣的。不過(guò),如果當(dāng)列表的數(shù)據(jù)量過(guò)大,使用 OR 操作來(lái)連接會(huì)比較繁瑣,所以這種情況下還是推薦使用 IN 操作符。
書(shū)上提到使用 IN 操作符的幾個(gè)優(yōu)點(diǎn),相較于 OR:
- 語(yǔ)法更清楚,更直觀
- 執(zhí)行效率更快,相對(duì)于同樣的條件
4、NOT
NOT,非,取反邏輯。
表示對(duì)后面條件進(jìn)行取反,比如我們使用的 IN 操作符,要查找 id 值不是 2 也不是 3 的數(shù)據(jù),可以如下實(shí)現(xiàn):
select?*?from?book?where?id?!=?2?and?id?!=?3;
如果使用 NOT 來(lái)實(shí)現(xiàn),就是:
select?*?from?book?where?id?not?in?(2,?3);
這就是這一節(jié)要介紹的幾個(gè)操作符,下一節(jié)要介紹模糊查找的關(guān)鍵字 like ,當(dāng)我們對(duì)于要獲取的數(shù)據(jù)只知道一部分,或者想要根據(jù)某一些關(guān)鍵詞來(lái)搜索所有數(shù)據(jù),就需要用到模糊查找了。
以上就是MySQl SELECT數(shù)據(jù)查看WHERE(AND OR IN NOT)語(yǔ)句的詳細(xì)內(nèi)容,更多關(guān)于MySQl SELECT WHERE的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
簡(jiǎn)單實(shí)現(xiàn)MySQL服務(wù)器的優(yōu)化配置方法
我們今天主要向大家描述的是MySQL服務(wù)器的優(yōu)化配置的時(shí)機(jī)操作步驟,以及在MySQL服務(wù)器的優(yōu)化配置的的過(guò)程中值得我們主義的事項(xiàng)的介紹。2011-03-03
與MSSQL對(duì)比學(xué)習(xí)MYSQL的心得(二)--顯示寬度
MYSQL中的整數(shù)型數(shù)據(jù)類型都可以指定顯示寬度,而SQLSERVER不行2014-06-06
mysql(master/slave)主從復(fù)制原理及配置圖文詳解
這篇文章主要介紹了mysql(master/slave)主從復(fù)制原理及配置圖文詳解,以前腳本之家小編發(fā)過(guò)相關(guān)的內(nèi)容,但這么好的非常少見(jiàn)特分享一下,需要的朋友可以參考下2016-05-05
innodb_flush_method取值方法(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇innodb_flush_method取值方法(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
MySQL 觸發(fā)器定義與用法簡(jiǎn)單實(shí)例
這篇文章主要介紹了MySQL 觸發(fā)器定義與用法,結(jié)合簡(jiǎn)單實(shí)例形式總結(jié)分析了mysql觸發(fā)器的語(yǔ)法、原理、定義及使用方法,需要的朋友可以參考下2019-09-09
服務(wù)器不支持 MySql 數(shù)據(jù)庫(kù)的解決方法
出現(xiàn)問(wèn)題:報(bào)錯(cuò)“服務(wù)器不支持 MySql 數(shù)據(jù)庫(kù)”,改函數(shù)function_exists('mysql_connect')返回 false2013-03-03

