分组查询聚合函数以及内外连接的使用

目录

1.聚合函数

2.分组查询

3.分页查询

4.内连接

5.外连接(左,右连接)

文章目录

  • 聚合函数
  • 分组查询
  • 分页查询
  • 内连接
  • 外连接  


前言

基础的sql查询语言我上篇已经记录过了,这次记录一下比较进阶点的查询语句,当然我记录的可能有不足,若有错误,感谢斧正。


一、聚合函数

将一列数据作为一个整体,进行纵向计算。

例如:有以下表,需要求表中所有数据的account总和,就是对account字段纵向求和

聚合函数分类

函数名
功能
count( 列名)         
统计数量(值为null的列不统计计算
max( 列名 )
求当列最大值
min( 列名 )
求当列最小值
sum( 列名 )
求当列总和
avg( 列名 )
求当列平均值
聚合函数语法

 SELECT 聚合函数名(列名) FROM ;

所以上表的account求和为: select sum(account)from bank;

二、分组查询

语法

SELECT 字段列表 FROM 表名 [ WHERE 分组前条件限定 ] GROUP BY 分组字段名 [ HAVING 分组后条件过滤 ] ;
例如: 我们继续对这个表操作,分别求出男士的总account和女士的总account
select gender , sum ( account ) from bank   group by gender ;
查询结果为:
where having 区别:
执行时机不一样: where 是分组之前进行限定,不满足 where 条件,则不参与分组,而 having 是分组之后对结果进行过
滤。
可判断的条件不一样: where 不能对聚合函数进行判断, having 可以

三.分页查询

很多网站都见过类似的效果,如京东、百度、淘宝等,将数据一页一页展示给用户,既能缓解内存压力,还可以方便用户查阅。

语法:  SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查询条目数;

例如:  每页显示5条数据,查询第1页数据

select * from stu limit 0 , 5 ;

推导出起始索引计算公式:

起始索引 = (当前页码 - 1) * 每页显示的条数


四.内连接

内连接查询 分为显示内连接和隐式内连接
语法:
-- 隐式内连接
SELECT 字段列表 FROM 1, 2… WHERE 条件 ;
内连接相当于查询 A B 交集数据
隐式内连接
select *from emp dept where emp.dept_id=dept.did;
上面emp为员工表,dept为部门表,dept_id是emp表的外键,did是dept表的主键
插询结果为两表相连

-- 显示内连接
SELECT 字段列表 FROM 1 [ INNER ] JOIN 2 ON 条件 ;

显示内连接 例

select * from emp inner join dept on emp.dep_id = dept.did;

五.外连接

-- 左外连接
SELECT 字段列表 FROM 1 LEFT [ OUTER ] JOIN 2 ON 条件 ;
-- 右外连接
SELECT 字段列表 FROM 1 RIGHT [ OUTER ] JOIN 2 ON 条件 ;
左外连接:相当于查询 A 表所有数据和交集部分数据
右外连接:相当于查询 B 表所有数据和交集部分数据
查询 emp 表所有数据和对应的部门信息(左外连接)
select * from emp left join dept on emp .dep_id = dept .did ;
查询 dept 表所有数据和对应的员工信息(右外连接)
select * from emp right join dept on emp .dep_id = dept .did ;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随身携带的笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值