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

詳細(xì)聊聊關(guān)于Mysql聯(lián)合查詢的那些事兒

 更新時(shí)間:2021年10月24日 12:45:14   作者:ReganYue  
聯(lián)合查詢union將多次查詢(多條select語句)的結(jié)果,在字段數(shù)相同的情況下,在記錄的層次上進(jìn)行拼接,這篇文章主要給大家介紹了關(guān)于Mysql聯(lián)合查詢的那些事兒,需要的朋友可以參考下

聯(lián)合查詢之union

union可以合并兩個(gè)以上 select語句查詢出來的表,并消除表中的重復(fù)行。

其中,select語句需要擁有相同數(shù)量和相同數(shù)據(jù)類型的列。

1. 查詢中國各省的ID以及省份名稱

select ProID,ProName from T_Province

2. 湖南省所有地級市ID、名字

select CityID,CityName from T_City
where ProID = (
    select ProID from T_Province where ProName="湖南省"
);

3. 用union將他們合并

select ProID,ProName from T_Province
union
select CityID,CityName from T_City
where ProID = (
    select ProID from T_Province where ProName="湖南省"
);

這樣就得到兩個(gè)查詢結(jié)果的并集了。

UNION 合并后的集合中的列名總是等于 UNION 中第一個(gè) SELECT 語句中的列名。

聯(lián)合查詢之union all

select ProID,ProName from T_Province
union all
select CityID,CityName from T_City
where ProID = (
    select ProID from T_Province where ProName="湖南省"
);

當(dāng)使用union all,不會消除重復(fù)行。

聯(lián)合查詢之inner join

1. 查詢湖北省有多少地級市

不用聯(lián)合查詢:

select count(CityID) from T_City
where ProID = (select ProID from T_Province where ProName="湖北省")

通過ProID將兩張表連接在一起

select ProName,CityName from(
    T_City join T_Province
    on T_City.ProID = T_Province.ProID
)
where ProName="湖北省"

2. 統(tǒng)計(jì)各省地級市的數(shù)量,輸出省名、地級市數(shù)量

select T_City.ProID,ProName,count(CityID) as cc from(
    T_City join T_Province
    on T_City.ProID = T_Province.ProID
)
group by T_City.ProID
order by cc desc;

什么的select語句中要輸出的ProID應(yīng)該是T_City和T_Province中的一個(gè),不然就會報(bào)錯(cuò)。

兩個(gè)表之間需要有共同的(列名不一定相同)“語言”才能join。

可以給表起個(gè)別名,將T_City表的別名設(shè)為tc,將T_Province的別名設(shè)為tp。

select tc.ProID,ProName,count(CityID) as cc from(
    T_City tc join T_Province tp
    on T_City.ProID = T_Province.ProID
)
group by tc.ProID
order by cc desc;

3. 查詢擁有20個(gè)以上區(qū)縣的城市,輸出城市名,區(qū)縣數(shù)量

select CityName,count(DisName) disCount from (
    T_City tc join T_District td
    on tc.CityID = td.CityID
)
group by CityName
having disCount > 20;

聯(lián)合查詢之三表聯(lián)合

1. 區(qū)縣最多的3個(gè)城市是哪個(gè)省的哪個(gè)市,查詢結(jié)果包括省名,市名,區(qū)縣數(shù)量

select tp.ProName,tcd.CityName,tcd.ci from
(
select ProID,CityName,count(ID) ci from(T_City tc join T_District td on tc.CityID = td.CityID) 
    
group by tc.CityID
order by ci desc
limit 3
)tcd
join T_Province tp on tcd.ProID = tp.ProID;

聯(lián)合查詢之left join&right join

內(nèi)連接是基于左右兩表公共的部分

左連接是基于左右兩表公共的部分加上左表特有的部分

右連接是基于左右兩表公共的部分加上右表特有的部分

查詢所有省份和它的城市信息

select * from(
T_Province tp join T_City tc
on tp.ProID = tc.ProID
);

查詢所有省份和它的城市信息和沒有城市的省份信息

select * from(
T_Province tp left join T_City tc
on tp.ProID = tc.ProID
);

查詢所有省份和它的城市信息和沒有省份的城市信息

select * from(
T_Province tp right join T_City tc
on tp.ProID = tc.ProID
);

總結(jié)

到此這篇關(guān)于Mysql聯(lián)合查詢的文章就介紹到這了,更多相關(guān)Mysql聯(lián)合查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 修改Mysql root密碼的方法

    修改Mysql root密碼的方法

    這篇文章主要介紹了修改Mysql root密碼的方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • 本地windows安裝兩個(gè)mysql服務(wù)器,配置主從同步

    本地windows安裝兩個(gè)mysql服務(wù)器,配置主從同步

    大型網(wǎng)站為了緩解大量的并發(fā)訪問,除了在網(wǎng)站實(shí)現(xiàn)分布式負(fù)載均衡,還會搭建服務(wù)器mysql集群技術(shù),來分擔(dān)主數(shù)據(jù)庫的壓力。在本地電腦能實(shí)現(xiàn)這樣的技術(shù)嗎,本地windows安裝兩個(gè)mysql服務(wù)器,配置主從同步也是可以實(shí)現(xiàn)的,快來跟著教程測試一下吧。
    2022-12-12
  • SQL Server數(shù)據(jù)庫錯(cuò)誤5123解決方案

    SQL Server數(shù)據(jù)庫錯(cuò)誤5123解決方案

    這篇文章主要介紹了SQL Server數(shù)據(jù)庫錯(cuò)誤5123解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • MySQL8.0.24版本Release Note的一些改進(jìn)點(diǎn)

    MySQL8.0.24版本Release Note的一些改進(jìn)點(diǎn)

    這篇文章主要介紹了MySQL8.0.24版本Release Note的一些改進(jìn)點(diǎn),幫助大家更好的對新版本的MySQL進(jìn)行測試使用,感興趣的朋友可以了解下
    2021-04-04
  • MySQL中定時(shí)器的底層實(shí)現(xiàn)原理及使用方法

    MySQL中定時(shí)器的底層實(shí)現(xiàn)原理及使用方法

    定時(shí)器可以用于定期執(zhí)行特定的SQL語句、備份數(shù)據(jù)、生成報(bào)表等操作,本文將詳細(xì)介紹MySQL中定時(shí)器的底層實(shí)現(xiàn)機(jī)制以及如何使用它
    2023-07-07
  • mysql的數(shù)據(jù)壓縮性能對比詳情

    mysql的數(shù)據(jù)壓縮性能對比詳情

    這篇文章主要介紹了mysql的數(shù)據(jù)壓縮性能對比,今天對這兩種方式分別進(jìn)行了測試,對比了二者在磁盤占用以及查詢性能方面各自的優(yōu)劣,下面我們大家一起進(jìn)入文章了解詳細(xì)內(nèi)容,需要的朋友也可以參考一下
    2021-11-11
  • MySQL 多表關(guān)聯(lián)一對多查詢實(shí)現(xiàn)取最新一條數(shù)據(jù)的方法示例

    MySQL 多表關(guān)聯(lián)一對多查詢實(shí)現(xiàn)取最新一條數(shù)據(jù)的方法示例

    這篇文章主要介紹了MySQL 多表關(guān)聯(lián)一對多查詢實(shí)現(xiàn)取最新一條數(shù)據(jù)的方法,結(jié)合實(shí)例形式詳細(xì)分析了MySQL 多表關(guān)聯(lián)一對多查詢實(shí)現(xiàn)取最新一條數(shù)據(jù)相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • MySQL行級鎖、表級鎖、頁級鎖詳細(xì)介紹

    MySQL行級鎖、表級鎖、頁級鎖詳細(xì)介紹

    這篇文章主要介紹了MySQL行級鎖、表級鎖、頁級鎖詳細(xì)介紹,同時(shí)列舉了一些實(shí)例說明,需要的朋友可以參考下
    2014-05-05
  • MySQL導(dǎo)入與導(dǎo)出備份詳解

    MySQL導(dǎo)入與導(dǎo)出備份詳解

    大家好,本篇文章主要講的是MySQL導(dǎo)入與導(dǎo)出備份詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySQL之select、distinct、limit的使用

    MySQL之select、distinct、limit的使用

    這篇文章主要介紹了MySQL之select、distinct、limit的使用,下面文章圍繞select、distinct、limit的相關(guān)資料展開聚集內(nèi)容,需要的朋友可以參考一下
    2021-11-11

最新評論