動(dòng)力節(jié)點(diǎn)-始于2009年,口口相傳的Java黃埔軍校 400-8080-105

免費(fèi)學(xué)前測(cè)評(píng) 領(lǐng)取最新教程資料

查看家門口的動(dòng)力節(jié)點(diǎn)
當(dāng)前位置: 首頁 > 行業(yè)快訊 > mysql in查詢的方法有哪些

mysql in查詢的方法有哪些

來源: 動(dòng)力節(jié)點(diǎn) 時(shí)間:2023-04-23 08:46:47

  • 免費(fèi)預(yù)約測(cè)評(píng),鑒定適合再學(xué)
  • 4大方法+專家考評(píng)團(tuán)把關(guān)
  • 預(yù)約成功即送15天零基礎(chǔ)面授課

今日已有176人預(yù)約測(cè)評(píng)

  • 張同學(xué)137****9950預(yù)約成功
  • 歐陽同學(xué)186****9232預(yù)約成功
  • 趙同學(xué)132****3458預(yù)約成功
  • 李同學(xué)137****4580預(yù)約成功
  • 趙同學(xué)180****1218預(yù)約成功
  • 蔡同學(xué)186****2232預(yù)約成功

mysql怎樣使用in查詢

一、基礎(chǔ)用法

mysql中in常用于where表達(dá)式中,其作用是查詢某個(gè)范圍內(nèi)的數(shù)據(jù)。

select * from where field in (value1,value2,value3,…)

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

select * from where field not in (value1,value2,value3,…)

二、IN 子查詢

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

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

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

SELECT uid FROM user WHERE status=0

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

在in的子查詢中常常會(huì)遇到查詢效率太低問題,解決方法如下:

1、仍使用in子查詢,多查詢一次

SELECT * FROM basic_zdjbxx WHERE suiji IN ( SELECT zdcode FROM ( SELECT zdcode FROM basic_h WHERE zdcode != "" ) AS h )

2、使用LEFT JOIN

SELECT zd.* FROM ( SELECT DISTINCT zdcode FROM basic_h WHERE zdcode != "" ) AS h LEFT JOIN basic_zdjbxx zd ON zd.suiji = h.zdcode

三、IN 運(yùn)算符補(bǔ)充說明

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

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

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

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

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

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

如果 IN 的列表項(xiàng)是確定的,那么可以用多個(gè) OR 來代替:

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

// 等效為:

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

一般認(rèn)為:

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

in或or在字段沒有添加索引的情況下,所連接的字段越多(1 or 2 or 3 or 4 or…),or比in的查詢效率低很多

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"mysql in查詢的方法有哪些",希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您務(wù)。

聲明:本站稿件版均屬動(dòng)力節(jié)點(diǎn)所有,未經(jīng)允許禁止轉(zhuǎn)載

猜你喜歡

零基礎(chǔ)學(xué)Java,為什么要首選實(shí)驗(yàn)班?

零基礎(chǔ)學(xué)Java,為什么要首選實(shí)驗(yàn)班?

零基礎(chǔ)學(xué)Java,你有沒有下面這些困惑呢?對(duì)Java了解不深,學(xué)完不知道能做什么?想轉(zhuǎn)行,又害怕辭職培訓(xùn)就業(yè)沒保障?專業(yè)不對(duì)口,怕學(xué)完不好就業(yè)?覺得學(xué)費(fèi)貴,經(jīng)濟(jì)壓力大?沒編程經(jīng)驗(yàn),擔(dān)心不適合這個(gè)職業(yè)?想自學(xué),又怕學(xué)的不牢靠找不到工作,浪費(fèi)時(shí)間?詳情>>

2023-07-28 10:05:44

動(dòng)力節(jié)點(diǎn)學(xué)員舒心學(xué)習(xí)背后,D9信息化教學(xué)服務(wù)平臺(tái)是如何高效助學(xué)的?!

動(dòng)力節(jié)點(diǎn)學(xué)員舒心學(xué)習(xí)背后,D9信息化教學(xué)服務(wù)平臺(tái)是如何高效助學(xué)的?!

動(dòng)力節(jié)點(diǎn)成立14年,目前設(shè)有10個(gè)分校,同時(shí)在校的學(xué)生人數(shù)眾多,怎樣實(shí)現(xiàn)統(tǒng)一管理?口口相傳的Java黃埔軍校,嚴(yán)格的教學(xué)管理服務(wù)制度怎樣被“復(fù)制”到各個(gè)校區(qū)呢?學(xué)員高薪就業(yè),高就業(yè)率又是怎樣在各校區(qū)得以延續(xù)?詳情>>

2023-07-28 09:55:43

全國程序員薪酬大曝光!看完我酸了,33% 程序員月薪達(dá)到.....

全國程序員薪酬大曝光!看完我酸了,33% 程序員月薪達(dá)到.....

2023年,隨著互聯(lián)網(wǎng)產(chǎn)業(yè)的蓬勃發(fā)展,程序員作為一個(gè)自帶“高薪多金”標(biāo)簽的熱門群體,被越來越多的人所關(guān)注。詳情>>

2023-07-20 16:14:40

上海Java培訓(xùn)講師師資團(tuán)隊(duì) >更多

杜老師 Linux專家 大廠技術(shù)顧問專家 被譽(yù)為“Java教父”

孫老師 知名IT作家 原復(fù)旦大學(xué)教授 國內(nèi)首批架構(gòu)師骨干

Cat老師 資深架構(gòu)師 億級(jí)交易架構(gòu)保障專家 擅長(zhǎng)高并發(fā)高性能高可用

郭老師 高級(jí)軟件工程師 曾任技術(shù)總監(jiān) 擅長(zhǎng)大型金融/銀行支付業(yè)務(wù)

秦老師 原阿里高級(jí)工程師 資深系統(tǒng)架構(gòu)師 精通云計(jì)算物聯(lián)網(wǎng)底層技術(shù)

王老師 高級(jí)軟件工程師 擅長(zhǎng)零基礎(chǔ)實(shí)戰(zhàn)教學(xué) 被譽(yù)為“Java啟蒙天后”

楊老師 資深軟件工程師 北京奧運(yùn)場(chǎng)館人臉信息采集項(xiàng)目負(fù)責(zé)人

王老師 曾任某上市公司系統(tǒng)架構(gòu)師 分布式,微服務(wù)實(shí)戰(zhàn)應(yīng)用專家

崔老師 特派海歸軟件工程師 曾任百度資深架構(gòu)師

上海開班

>更多

Java實(shí)驗(yàn)班 2024-10-26 即將報(bào)滿

Java實(shí)驗(yàn)班 2024-11-26 即將報(bào)滿

Java實(shí)驗(yàn)班 2024-12-27 即將報(bào)滿

Java就業(yè)班 2024-11-12 即將報(bào)滿

Java就業(yè)班 2024-12-12 即將報(bào)滿

Java就業(yè)班 2025-01-11 即將報(bào)滿

熱搜標(biāo)簽

Java培訓(xùn)班學(xué)費(fèi) Java培訓(xùn)班畢業(yè)找工作 零基礎(chǔ)學(xué)Java好找工作嗎 Java程序員好找工作嗎 自學(xué)Java好找工作嗎 學(xué)Java能做什么工作 Java就業(yè)前景 學(xué)Java要學(xué)多久 零基礎(chǔ)學(xué)Java難嗎 培訓(xùn)班學(xué)Java怎么樣 什么樣的人適合學(xué)Java Java培訓(xùn)多少錢 Java培訓(xùn)班靠譜嗎
400-8080-105 在線咨詢3秒即回
官方微信 隨時(shí)了解最新動(dòng)態(tài)
掃一掃進(jìn)入 動(dòng)力節(jié)點(diǎn)手機(jī)站

運(yùn)營主體北京動(dòng)力節(jié)點(diǎn)教育科技有限公司,屬具備計(jì)算機(jī)技術(shù)培訓(xùn)資質(zhì)的教育培訓(xùn)機(jī)構(gòu)