SQL语句的执行顺序

SQL查询语句的基本结构

Select
.. 
from        
..
where       
..
group by    
..
having      
..
order by        
..

顺序:

  1. from
  2. where
  3. group by
  4. having
  5. order by
  6. select

正由此,在 where子句 中不能使用 分组函数(avg,max,min,sum,count)。必要的情况可以使用子查询代替
例如:

select ename,sal from emp where sal > avg(sal);   // 执行出错
select ename,sal from emp where sal > ( select avg(sal) from emp ); //使用子查询替代

注意: select 中出现的字段一定要出现在 group by中。否则返回的结果没有意义,没有出现在 gourp by 中的字段会从表中随机取数据。

上一篇:练习2 --查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩


下一篇:Oracle 19C学习 - 06. 聚合函数