前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL分组统计与多表联合查询的基本知识归纳总结

MySQL分组统计与多表联合查询的基本知识归纳总结

作者头像
Java帮帮
发布2018-12-21 16:46:50
4.7K0
发布2018-12-21 16:46:50
举报
一 分组统计

count( ) 统计记录数

min( ) 统计指定字段的最小值

max( ) 统计指定字段的最大值

avg( ) 统计指定字段的平局值

sum( ) 统计指定字段的和

group by 对指定字段进行分组

-- 统计student表中每个年龄的总数 
select age,count(age) from student group by age;

having 对分组后的数据进行条件筛选,与where相似,但是只针对分组后的数据,where无法筛选聚合函数

二 多表联合查询

笛卡尔积

笛卡尔(Descartes)乘积又叫直积。假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。

inner join 内连接,也叫等值连接,查询符合A表与B表匹配关系的数据

注释 : join inner join 是一样的效果,所以在使用inner join时可将inner省略。

显式( explicit ) inner join 与 隐式( implicit )inner join

left join 左连接,从左表产生一套完整的记录,与匹配的记录(右表) .如果没有匹配,右侧将包含null。

注释 : left join left outer join 是一样的效果,所以在使用left outer join时可将outer省略

right join 右连接,从右表产生一套完整的记录,与匹配的记录(左表) .如果没有匹配,右侧将包含null。

full join 全连接,产生的所有记录(双方匹配记录)在表A和表B。如果一张表没有匹配,则另一张表将包含null。

自连接 与表自身进行检索操作,in other words 就是与另一张一模一样的表进行join关联操作

注释:可以看出子查询的方式需要查询2次student表,而自连接的方式是笛卡尔积,只需要查询一次student表,效率方面肯定是高于子查询方式的,所以在能够使用自连接方式查询的时候尽量不要使用子查询

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java帮帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档