posts - 397,comments - 0,views - 25332

子查询不同情况

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

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

    

-- 查询员工工资小于平均工资的人
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';

 

 

posted on   淤泥不染  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示