去重复 distinct
distinct 列 如果有一样的列信息 将一样的信息合并
行数会减少 查询的没一个列 行数个数需要一致
distinct 列,列 如果有两个以上的列 将两个或多个列的组合当做整体
如果整体有一样的信息 则才会去重复 否则就全部显示
--------------------------------------------------
分组函数+分组条件
分组函数
count()
max() min() avg() sum()
分组条件
group by 列
如果SQL语句中一旦搭配了分组条件
能展示的信息只有两种
分组条件 分组函数
1.查询student表格中每一个班级有多少个同学
2.查询student表格中每一个班级的语文平均分
3.查询student表格中所有的男同学 他们都在哪个班级
先进行条件筛选where 后分组group by
4.查询student表个人中所有的18岁的同学 都在哪个班级
先进行条件筛选 后分组
5.查询student表格中语文平均成绩高于90分的班级
先分组group by 平均成绩条件筛选having
having关键字的使用与where类似
where group-by having order-by
6.分组条件+分组函数的查询
1.在查询之前需要先考虑 到底是先分组 还是先筛选条件
先筛选 后分组 where group
先分组 后筛选 group having
2.在查询的时候一旦分组了 行数会减少
想要展示的信息 个数需要与分组条件的个数一致
----------------------------------------------------------------
嵌套
一个完整的SQL语句中 嵌套了另一个完整的SQL语句
*1.查询student表格中语文成绩最高的人
select * from student where chinese = (select max(chinese) from student);
嵌套可以将一个查询的结果当做条件
再次查询
2.查询在深圳班级上课的同学有哪些?
select * from student where classid = (select classid from myclass where classloc = '深圳');
嵌套将某一个查询的结果当做条件的时候
表格可以不是一张
我们可以将另一张表格查询的信息 当做当前表格的条件
3.可以将查询的最终结果当做一张表格
在表格的基础上
再次查询
注意:在将结果当做表格时候 需要给表起别名
分组嵌套(去重复)
最新推荐文章于 2022-09-28 14:29:18 发布