欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql詳細(xì)分析講解子查詢的使用

 更新時(shí)間:2022年04月27日 11:49:20   作者:羨羨ˇ  
子查詢指一個(gè)查詢語(yǔ)句嵌套在另一個(gè)查詢語(yǔ)句內(nèi)部的查詢,這個(gè)特性從 MySQL 4.1開(kāi)始引入,在SELECT子句中先計(jì)算子查詢,子查詢結(jié)果作為外層另一個(gè)查詢的過(guò)濾條件,查詢可以基于一個(gè)表或者多個(gè)表

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

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

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

  • 標(biāo)量子查詢(結(jié)果集只有一行一列)
  • 列子查詢(結(jié)果集只有一列多行)
  • 行子查詢(結(jié)果集有一行多列)(較少)
  • 表子查詢(結(jié)果集一般為多行多列)

這里我們以新建t_user表為例

 

需要注意的是 : 這里的分類(lèi)是根據(jù)內(nèi)嵌子查詢的結(jié)果來(lái)分的 例如上述的sql語(yǔ)句就是標(biāo)量子查詢

子查詢結(jié)果只有一行一列

接著我們根據(jù)子查詢?cè)趕ql語(yǔ)句中出現(xiàn)的位置來(lái)討論 : 

select后面:僅僅支持標(biāo)量子查詢

-- select語(yǔ)句后面,將t1查詢出的結(jié)果作為子查詢的條件
SELECT t1.number,
  (SELECT NAME FROM t_user t2 WHERE t1.name = t2.name)
FROM t_user t1

查詢結(jié)果 : 

insert into , update和 delete后面 : 

insert into用來(lái)為表中插入數(shù)據(jù) , 所以后面是可以跟列子查詢和表子查詢的

-- insert into 后跟子查詢
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的底層機(jī)制使得我們?cè)诓僮鞔吮淼臅r(shí)候是不能去改變此表結(jié)構(gòu)的 

也就是說(shuō),子查詢不能查詢當(dāng)前正在操作的表

where 后面 : 可跟標(biāo)量子查詢, 列子查詢, 行子查詢

-- where后跟標(biāo)量子查詢
-- 查詢體重最大的人信息
SELECT * FROM t_user WHERE weight=(SELECT MAX(weight) FROM t_user)
-- where后跟列子查詢
-- 查詢體重大于或等于130的人信息
SELECT * FROM t_user WHERE weight IN (SELECT weight FROM t_user WHERE weight>=130)
-- where后跟行子查詢
-- 查詢年齡最大,體重最大的人的信息
SELECT * FROM t_user 
     WHERE (age,weight) = (SELECT MAX(age),MAX(weight) FROM t_user)

from 后面 : 可跟表子查詢

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

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

結(jié)果 :

到此這篇關(guān)于mysql詳細(xì)分析講解子查詢的使用的文章就介紹到這了,更多相關(guān)mysql子查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論