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