525多表查询子查询的两种情况和526子查询的第三种情况

子查询不同情况

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

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

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

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';

 

 

 

 



posted @ 2022-10-12 15:03  ja不会va  阅读(29)  评论(0)    收藏  举报