多表查询_子查询概述和多表查询_子查询情况1&情况2&情况3

子查询

概念:查询中嵌套查询,称嵌套查询为子查询
-- 查询工资最高的员工信息
-- 1.查询最高的工资是多少 9000

select max(salary) from emp;

image

-- 查询员工信息,并且工资等于9000的

select * from emp where salary =9000;

image

-- 一条sql就完成这个操作 子查询

select * from emp where salary = (select max(salary) from emp);

image

子查询的不同情况
1.子查询的结果是单行单列的:
子查询可以作为条件,使用运算符去判断
-- 查询员工工资小于平均工资的人

select * from emp where salary < (select avg(salary) from emp);

image

2.子查询的结果是多行单列的:
子查询可以作为条件,使用运算符in来判断

-- 查询"财务部"和"市场部"所有的员工信息

select id from dept where name = "财务部" or name = "市场部";
select * from emp where dept_id = 3 or dept_id = 2;
-- 子查询
select * from emp where dept_id in (select id from dept where name = "市场部" or name = "财务部");

3.子查询的结果是多行多列的:
查询员工入职日期是2011-11-11日之后的员工信息和部门信息

select * from dept,(select * from emp where emp.join_date > "2011-11-11") t2 where dept.id = t2.dept_id;

image

posted @ 2022-07-27 09:26  我滴妈老弟  阅读(41)  评论(0编辑  收藏  举报