1. FROM <left_table> <join_type> JOIN <right_table> ON <join_condition>
  2. WHERE <where_condition>
  3. GROUP BY <group_by_list>
  4. HAVING <having_condition>
  5. SELECT DISTINCT <select_list>
  6. ORDER BY <order_by_condition>

例题

在 教材第3章数据库背景下,按要求完成本次作业要求的各条SQL语句。
下列SQL语句能够找出所有考试的平均分低于80分的学生的学号吗?为什么?

SELECT Sno, AVG(Score) as AvgScore  
FROM  SC  
GROUP BY Sno  
HAVING AvgScore<80

答案

不能,因为having比SELECT语句先执行, 没有获取AVG(Score)的别名