子查询不同情况
子查询的结果是单行单列的
子查询作为条件,使用运算符去判断
查询员工工资小于平均工资的人
SELECT * FROM emp WHERE emp.salary< (SELECT AVG(salary)FROM emp);
子查询的结果是多行单列的∶
*查询可以作为条件,使用运算符in来判断--查询财务部"和"市场部'所有的员工信息
SELECT id FROM dept wHERE NAME ='财务部’OR NAME = '巿场部';
SELECT *FROM emp wHERE dept_id = 3 OR dept_id = 2;
-- 子查询
SELECT*FRON emp MHERE dept_id IN(SELECT id FRO dept MHERE NANE = ‘财务部’OR NAWE = '市场部');
自查徐的结果是多行多列的
查询员工日期是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';