分组
使用group by 进行分组。对结果集进行进一步划分。
过滤组:having , 过滤组信息 ,表达式 同 where 一致
select 分组字段,组函数 from 表名 group by 分组字段 having 过滤组 order by 排序字段
执行步骤
–>from -->where–>group by–>having–>select --> order by
- select 出现分组函数,就不能使用 非分组信息,可以使用 group by 字段
- group by字段 可以不出现 select 中 ,反之select 除组函数外的,其他字段必须group by 中有。
过滤组 having :
where :过滤行记录,不能使用组函数, having:过滤组 可以使用组函数
group by 分组后。having 和select 只认识分组字段和组函数。相当于压缩了信息。
select min(avg(sal)) from emp group by deptno;
子查询
where 语句中允许出现查询语句,这样的语句称为子查询。
单行子查询:当查询的筛选条件不明,需要执行一次查询,并且查询的结果只有一个数据。
-select * from emp where sal>(select sal from emp where ename='clark