补充:
【 having】
having avg(grade)>60;
where 不能处理聚合函数 /* 用在分组前
having 只能处理聚合函数 /* 用在分组后
【S Q L 语句】
select 执行顺序 4 (计算聚合函数值)
from 执行顺序 1 (加载数据到内存)
where 执行顺序 2 (过滤数据)
group by 执行顺序 3 (分组)
order by 执行顺序 6 (排序)
having 执行顺序 5 (再次过滤)
limit 执行顺序 7 (投影限制)
【组合查询】
【 子查询 】 嵌套在主查询中的查询 完成某些特定的功能
子查询嵌套位置 select > from > where > group by > having > order by >
【select : 嵌套语句要求查询的值是单行或单列】
SELECT ss.s_id,
(SELECT c_kemu FROM cc WHERE cc.c_id = ss.s_id)AS 科目
FROM ss;
查询学生id 所对应另一个表中的科目并 投影学生 id 和科目
【from : 嵌套语句要求查询的结果可是多行多列】
select max(s_age) from
(select age,id from stu union select age from stu2) as t;
查询 stu班 和stu2 班中年龄最大的学生信息
【where】
比较运算符 :<、>、=、>=、<=、!=
包含 in 、not in
子查询运算符 : ALL、ANY、 EXISTS
select * from stu where age>(select max(age) from stu2) ;
查询stu班年龄大于stu2班最大年龄的 学生信息