溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

mysql子查詢(xún)?cè)趺词褂?/h1>
發(fā)布時(shí)間:2022-04-27 14:42:31 來(lái)源:億速云 閱讀:170 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了“mysql子查詢(xún)?cè)趺词褂谩?,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“mysql子查詢(xún)?cè)趺词褂谩卑桑?/p>

出現(xiàn)在其他語(yǔ)句中的 select 語(yǔ)句,稱(chēng)為子查詢(xún)或內(nèi)查詢(xún);外部的查詢(xún)語(yǔ)句,稱(chēng)為主查詢(xún)或 外查詢(xún) . 

-- 子查詢(xún)
-- 查詢(xún)的條件來(lái)自于另一查詢(xún)的結(jié)果
SELECT * FROM t_user WHERE number=(SELECT number FROM t_user WHERE NAME='張三')

當(dāng)然子查詢(xún)也有類(lèi)型,分為以下幾種 : 

  • 標(biāo)量子查詢(xún)(結(jié)果集只有一行一列)

  • 列子查詢(xún)(結(jié)果集只有一列多行)

  • 行子查詢(xún)(結(jié)果集有一行多列)(較少)

  • 表子查詢(xún)(結(jié)果集一般為多行多列)

這里我們以新建t_user表為例

mysql子查詢(xún)?cè)趺词褂?> </p><p>需要注意的是 : 這里的分類(lèi)是根據(jù)內(nèi)嵌子查詢(xún)的結(jié)果來(lái)分的 例如上述的sql語(yǔ)句就是標(biāo)量子查詢(xún)</p><p><img src=-- select語(yǔ)句后面,將t1查詢(xún)出的結(jié)果作為子查詢(xún)的條件 SELECT t1.number,   (SELECT NAME FROM t_user t2 WHERE t1.name = t2.name) FROM t_user t1

查詢(xún)結(jié)果 : 

mysql子查詢(xún)?cè)趺词褂?></p><p>insert into , update和 delete后面 : </p><p>insert into用來(lái)為表中插入數(shù)據(jù) , 所以后面是可以跟列子查詢(xún)和表子查詢(xún)的</p><pre class=-- insert into 后跟子查詢(xún) INSERT INTO t_user(number,NAME,age,birthday,weight,sex,opertime)        SELECT number,NAME,age,birthday,weight,sex,NOW() FROM t_user WHERE id=3

這里需要注意的是 update與delete

UPDATE t_user SET NAME='abc' WHERE number=(SELECT number FROM t_user WHERE weight=110)

DELETE FROM t_user WHERE id=(SELECT id FROM t_user WHERE id=7)

上述這兩條sql , mysql是不允許我們這樣去執(zhí)行的 : 

mysql子查詢(xún)?cè)趺词褂?></p><p>mysql的底層機(jī)制使得我們?cè)诓僮鞔吮淼臅r(shí)候是不能去改變此表結(jié)構(gòu)的 </p><p>也就是說(shuō),子查詢(xún)不能查詢(xún)當(dāng)前正在操作的表</p><p>where 后面 : 可跟標(biāo)量子查詢(xún), 列子查詢(xún), 行子查詢(xún)</p><pre class=-- where后跟標(biāo)量子查詢(xún) -- 查詢(xún)體重最大的人信息 SELECT * FROM t_user WHERE weight=(SELECT MAX(weight) FROM t_user) -- where后跟列子查詢(xún) -- 查詢(xún)體重大于或等于130的人信息 SELECT * FROM t_user WHERE weight IN (SELECT weight FROM t_user WHERE weight>=130) -- where后跟行子查詢(xún) -- 查詢(xún)年齡最大,體重最大的人的信息 SELECT * FROM t_user       WHERE (age,weight) = (SELECT MAX(age),MAX(weight) FROM t_user)

from 后面 : 可跟表子查詢(xún)

表字查詢(xún)的結(jié)果是多行多列, 也就是一個(gè)表

-- 表子查詢(xún)
SELECT t.age FROM (SELECT age,weight FROM t_user)t

結(jié)果 :

mysql子查詢(xún)?cè)趺词褂?></p><p class=感謝各位的閱讀,以上就是“mysql子查詢(xún)?cè)趺词褂谩钡膬?nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)mysql子查詢(xún)?cè)趺词褂眠@一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI