子查询

#1:子查询是将一个查询语句嵌套在另一个查询语句中。
#2:内层查询语句的查询结果,可以为外层查询语句提供查询条件。
#3:子查询中可以包含:IN、NOT IN、EXISTS 和 NOT EXISTS等关键字
#4:还可以包含比较运算符:= 、 !=、> 、<等
emp, department
每个部门员工年龄最大的姓名 (选用一张表实现)
两种方法:
select group_concat(name),dep_id,max(age) from emp group by dep_id having max(age);
子查询
select name,max(age) from emp where age=(select max(age) from emp);
年龄大于平均年龄的 人的姓名、年龄
select name,age from emp where age > (select avg(age) from emp);
in关键字
平均年龄在25岁以上的部门名
select d.name from department as d inner join emp as e on d.id=e.dep_id group by d.id having avg(age)>25;
select id,name from department where id in
(select dep_id from employee group by dep_id having avg(age) > 25);
select id,name from department where id in(201,202);
posted @ 2020-01-02 20:26  情~睿  阅读(165)  评论(0编辑  收藏  举报