泸州工投建设集团有限公司网站,网页设计与制作(第3版)书籍,python搭建wordpress,网站建设知名公司排名文章目录 子查询子查询案例 子查询
一个查询语句#xff0c;嵌套在另一个查询语句内部#xff1b;子查询先执行#xff0c;其结果被外层主查询使用#xff1b;子查询放入括号内#xff1b;子查询放在比较条件的右侧#xff1b;子查询返回一条#xff0c;为单行子查询(对… 文章目录 子查询子查询案例 子查询
一个查询语句嵌套在另一个查询语句内部子查询先执行其结果被外层主查询使用子查询放入括号内子查询放在比较条件的右侧子查询返回一条为单行子查询(对应单行操作符 ! …)返回多条则为多行子查询子查询执行次数不受外层查询的影响则为不相关子查询
# 工资高于abel的人
select name, salary from employees where salary
(select salary from employees where nameabel);
内部子查询仅仅执行一次 故为不相关
子查询案例
单行子查询
查询最低工资大于 50号 部门最低工资的部门的id和最低工资
# 由内而外解析# 50号 部门最低工资
select min(salary) from employees where depart_id50;# 查询最低工资大于()的部门的id和最低工资
select depart_id, min(salary) from employees group by depart_id having min(salary) ();# 将以上子查询放入中即可查询员工的employee_id, name, location; 若员工的部门id与 loc_id190的员工部门id相同则location值为A 否则为B;
select employee_id, name, (case depart_id when (select depart_id from employees where loc_id190) then Aelse B end) as location from employees;多行子查询
子查询返回多行使用多行操作符 in 在返回的结果集合中any 和结果集合中一个比较all 和结果集合中的所有 比较some即any
# 薪资小于任何一个结果
select xxx from employees where salary any(多行子查询);# 查询 平均工资 最低的部门
select depart_id, min(avg_salary) from (select depart_id, avg(salary) as avg_salary from employees group by depart_id) as tt;select depart_id from employees group by depart_id having avg(salary) all(select avg(salary) as avg_salary from employees group by depart_id)