最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL基礎(chǔ)教程之IN的用法詳解

 更新時間:2017年01月17日 08:40:41   投稿:lqh  
這篇文章主要介紹了MySQL基礎(chǔ)教程之IN的用法詳解的相關(guān)資料,需要的朋友可以參考下

MySQL IN 語法

IN 運算符用于 WHERE 表達(dá)式中,以列表項的形式支持多個選擇,語法如下:

WHERE column IN (value1,value2,...)
WHERE column NOT IN (value1,value2,...)

當(dāng) IN 前面加上 NOT 運算符時,表示與 IN 相反的意思,即不在這些列表項內(nèi)選擇。

IN 使用實例

選取 uid 為 2、3、5 的用戶數(shù)據(jù):

SELECT * FROM user WHERE uid IN (2,3,5)

返回查詢結(jié)果如下:

uid username password email regdate
2 小明 a193686a53e4de85ee3f2ff0576adf01 xiao@163.com 1278063917
3 Jack 0193686a35e4de85ee3f2ff0567adf490 jack@gmail.com 1278061380
5 5idev a193686a53e4de85ee3f2ff0576adf01 5idev@5idev.com 1291107029

IN 子查詢

更多情況下,IN 列表項的值是不明確的,而可能是通過一個子查詢得到的:

SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=0)

在這個 SQL 例子里,我們實現(xiàn)了查出所有狀態(tài)為 0 的用戶(可能是被禁止)的所有文章。首先通過一個查詢得到所有所有 status=0 的用戶:

SELECT uid FROM user WHERE status=0

然后將查詢結(jié)果作為 IN 的列表項以實現(xiàn)最終的查詢結(jié)果,注意在子查詢中返回的結(jié)果必須是一個字段列表項。

IN 運算符補充說明

IN 列表項不僅支持?jǐn)?shù)字,也支持字符甚至?xí)r間日期類型等,并且可以將這些不同類型的數(shù)據(jù)項混合排列而無須跟 column 的類型保持一致:

SELECT * FROM user WHERE uid IN(1,2,'3','c')

一個 IN 只能對一個字段進(jìn)行范圍比對,如果要指定更多字段,可以使用 AND 或 OR 邏輯運算符:

SELECT * FROM user WHERE uid IN(1,2) OR username IN('admin','manong')

使用 AND 或 OR 邏輯運算符后,IN 還可以和其他如 LIKE、>=、= 等運算符一起使用。

 關(guān)于 IN 運算符的效率問題

如果 IN 的列表項是確定的,那么可以用多個 OR 來代替:

SELECT * FROM user WHERE uid IN (2,3,5)

// 等效為:

SELECT * FROM user WHERE (uid=2 OR aid=3 OR aid=5)

一般認(rèn)為,如果是對索引字段進(jìn)行操作,使用 OR 效率高于 IN,但對于列表項不確定的時候(如需要子查詢得到結(jié)果),就必須使用 IN 運算符。另外,對于子查詢表數(shù)據(jù)小于主查詢的時候,也是適用 IN 運算符的。

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • CentOS7使用rpm包安裝mysql 5.7.18

    CentOS7使用rpm包安裝mysql 5.7.18

    這篇文章主要為大家詳細(xì)介紹了CentOS7使用rpm包安裝mysql 5.7.18的相關(guān)步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • MySQL的order?by如何避免"未命中索引"(推薦)

    MySQL的order?by如何避免"未命中索引"(推薦)

    本文詳細(xì)解析了在使用MySQL的OrderBy語句時,如何通過Explain查看執(zhí)行計劃以及如何有效利用索引,介紹了常見的索引未命中情況,提供了多個示例來解釋如何根據(jù)索引的不同使用情況調(diào)整SQL語句,以確保最優(yōu)的查詢性能
    2024-11-11
  • mysql 8.0.24版本安裝配置方法圖文教程

    mysql 8.0.24版本安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.24版本安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Eclipse與MySQL數(shù)據(jù)庫的連接教程(已實操)

    Eclipse與MySQL數(shù)據(jù)庫的連接教程(已實操)

    用eclipse編寫的好的代碼,我們怎么才能連接到數(shù)據(jù)庫呢?下面這篇文章主要給大家介紹了關(guān)于Eclipse與MySQL數(shù)據(jù)庫連接的相關(guān)資料,下面的操作是經(jīng)本人驗證,確實可行,需要的朋友可以參考下
    2023-05-05
  • 一文簡單了解MySQL前綴索引

    一文簡單了解MySQL前綴索引

    MySQL是支持前綴索引的,也就是說你可以定義字符串的一部分作為索引,下面這篇文章主要給大家介紹了關(guān)于MySQL前綴索引的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Mysql刪除重復(fù)的數(shù)據(jù) Mysql數(shù)據(jù)去重復(fù)

    Mysql刪除重復(fù)的數(shù)據(jù) Mysql數(shù)據(jù)去重復(fù)

    這篇文章主要介紹了Mysql刪除重復(fù)的數(shù)據(jù) Mysql數(shù)據(jù)去重復(fù),需要的朋友可以參考下
    2016-08-08
  • MySQL中主鍵為0與主鍵自排約束的關(guān)系詳解(細(xì)節(jié))

    MySQL中主鍵為0與主鍵自排約束的關(guān)系詳解(細(xì)節(jié))

    這篇文章主要給大家介紹了關(guān)于MySQL中主鍵為0與主鍵自排約束的關(guān)系的相關(guān)資料,主要介紹的是其中的一些非常細(xì)的細(xì)節(jié),對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • mysql不走索引的幾個問題小結(jié)

    mysql不走索引的幾個問題小結(jié)

    MySQL中不走索引的問題通常發(fā)生在查詢中使用了函數(shù),這會使索引失效,從而影響查詢性能,本文就介紹了mysql不走索引的幾個問題小結(jié),感興趣的可以了解一下
    2023-08-08
  • mysql刪除重復(fù)記錄并且只保留一條的實現(xiàn)方法

    mysql刪除重復(fù)記錄并且只保留一條的實現(xiàn)方法

    本文主要介紹了mysql刪除重復(fù)記錄并且只保留一條的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • windows和linux安裝mysql后啟用日志管理功能的方法

    windows和linux安裝mysql后啟用日志管理功能的方法

    在默認(rèn)情況下,mysql安裝后是沒有啟用日志管理功能的,這給維護(hù)帶來很多不便的地方,下面介紹windows和linux安裝mysql后啟用日志管理功能的方法
    2014-01-01

最新評論

邢台县| 阿瓦提县| 台安县| 香格里拉县| 汽车| 青州市| 长治市| 桦甸市| 榆林市| 临夏县| 河津市| 林甸县| 大同县| 赞皇县| 顺义区| 中西区| 林甸县| 竹溪县| 保康县| 瑞昌市| 萝北县| 福贡县| 报价| 英吉沙县| 灌阳县| 英吉沙县| 天台县| 海原县| 临潭县| 梨树县| 滕州市| 神木县| 铜川市| 马尔康县| 莱阳市| 阳信县| 剑阁县| 彭州市| 镇坪县| 元谋县| 南充市|