详细聊聊关于Mysql联合查询的那些事儿
16lz
2021-12-08
联合查询之union
union可以合并两个以上 select语句查询出来的表,并消除表中的重复行。
其中,select语句需要拥有相同数量和相同数据类型的列。
1. 查询中国各省的ID以及省份名称
select ProID,ProName from T_Province
UNION 合并后的集合中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
联合查询之union all
select ProID,ProName from T_Provinceunion allselect CityID,CityName from T_Citywhere ProID = ( select ProID from T_Province where ProName="湖南省");
联合查询之inner join
1. 查询湖北省有多少地级市
不用联合查询:
select count(CityID) from T_Citywhere ProID = (select ProID from T_Province where ProName="湖北省")
select ProName,CityName from( T_City join T_Province on T_City.ProID = T_Province.ProID)where ProName="湖北省"
两个表之间需要有共同的(列名不一定相同)“语言”才能join。
可以给表起个别名,将T_City表的别名设为tc,将T_Province的别名设为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.ProIDorder by cc desc;
左连接是基于左右两表公共的部分加上左表特有的部分
右连接是基于左右两表公共的部分加上右表特有的部分
查询所有省份和它的城市信息
select * from(T_Province tp join T_City tcon tp.ProID = tc.ProID);
更多相关文章
- Pycharm安装PyQt5的详细教程
- android 分辨率及密度详细
- android 分辨率及密度详细
- 四.Android六种布局详细讲解
- android 百度地图SDK 获得详细路线信息
- 安卓shape属性详细介绍
- Android(安卓)自动化测试工具Robotium 之Solo类的详细说明
- Android(安卓)Studio里面的Build.gradle的详细配置说明
- Android之开发BLE 详细步骤