分组嵌套(去重复)

去重复  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.可以将查询的最终结果当做一张表格
		在表格的基础上
		再次查询
		注意:在将结果当做表格时候 需要给表起别名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值