其他分享
首页 > 其他分享> > 多表查询_子查询情况1和情况2和多表查询_子查询情况3

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

作者:互联网

子查询不同情况

    子查询的结果是单行单列的:

    子查询可以作为条件,使用运算符去判断。运算符.。>  >= < <= =

    

-- 查询员工工资小于平均工资的人
SELECT *  FROM emp where emp.salary < (SELECT AVG(salary) FROM emp);

 

 

    子查询的结果是多行单列的:

-- 查询'财务部'和市场部所有员工信息
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 t1,(SELECT * FROM emp WHERE emp.join_date > '2011-11-11') t2 WHERE t1.id = t2.dept_id;

 

 

-- 普通连接
SELECT * FROM emp t1,dept t2 WHERE t1.dept_id = t2.id and t1.JOIN_date > '2011-11-11';

 

 

搜索

复制

标签:多表,查询,dept,emp,情况,WHERE,id,SELECT
来源: https://www.cnblogs.com/12-12-12/p/16517361.html