聚合、联合查询

一、聚合查询

聚合函数

常见的聚合函数:
count():返回查询到的数据的数量,(查询到多少行)
sum():返回查询到的数据的总和,不是数字没有意义
avg():返回查询到的数据的平均值,不是数字没有意义
max():返回查询到的数据的最大值,不是数字没有意义
min():返回查询到的数据的最小值,不是数字没有意义
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也可以先用where过滤,再进行聚合查询。
在这里插入图片描述

grop by子句

grop by子句可以进行分组
在这里插入图片描述

having

grop by中中也可以结合一些条件对数据进行进一步的筛选,不是使用where,而是having。

select role,avg(salary) from employee group by role having avg(salary) >2000;

在这里插入图片描述
having是针对group by之后的结果进行筛选,where是针对原始表中的每条记录都进行筛选。

二、联合查询

多表查询的过程,先计算笛卡尔积。在基于一些条件针对笛卡尔积中的记录进行筛选,如果针对两个比较大的表进行联合查询,笛卡尔积的计算开销会很大,最终的查找效率也就较低。所以不应该在生产环境上对大表进行联合查询。
内连接

组合两个表中的记录,返回两个表的交集

select 字段 from1 别名1 inner join2 别名2 on 连接条件;
外连接

**左连接:**两个表中左表的记录会全部显示出来,右表中只会显示和左表的交集记录,右表中没有的地方均为null

select 字段 from1 别名1 left join2 别名2 on 连接条件;

**右连接:**两个表中右表的记录会全部显示出来,而左表只会显示和右表有交集的记录,左表中没有的地方均为null。

select 字段from1 别名1 right join2 别名2 on 连接条件;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值