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

多表查询_子查询情况1&2:

第一种情况:子查询的结果是单行单列的:

子查询可以作为条件,使用运算符去判断

-- 查询员工工资小于平均工资的人

SELECT salary FROM emp WHERE salary < (SELECT AVG(salary) FROM emp);

输出结果:

 第二种情况是:子查询的结果是多行单列的:

子查询可以作为条件,使用运算符in来判断

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

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;

运行结果:

 

posted @ 2022-10-17 15:27  冰灵IT  阅读(45)  评论(0)    收藏  举报