子查询(三种方式)
顾名思义就是嵌套查询,查询中套查询子查询分为三种情况:1.单行单列 也就是结果是一个的 例如 12.多行单列 也就是结果是一组的 例如(1,2,3)3.多行多列 也就是结果是一张表的 此不举例表结构如下:员工表emp部门表dept情况1:单行单列查询薪资大于猪八戒的员工思考思路 1查出猪八戒的薪资 2查询薪资大于结果1的结果如下:情况2:多行单列查询财务部和市场部所有员工的信息思路 1查出财务部和
·
子查询
顾名思义就是嵌套查询,查询中套查询
子查询分为三种情况:
1.单行单列 也就是结果是一个的 例如 1
2.多行单列 也就是结果是一组的 例如(1,2,3)
3.多行多列 也就是结果是一张表的 此不举例
表结构如下:
员工表emp
部门表dept
情况1:单行单列
查询薪资大于猪八戒的员工
思考思路 1查出猪八戒的薪资 2查询薪资大于结果1的
select salary from emp where name='猪八戒'
select * from emp where salary > ( select salary from emp where name='猪八戒' )
结果如下:
情况2: 多行单列
查询财务部和市场部所有员工的信息
思路 1查出财务部和市场部的dep_id 结果集是一组
2查出dep_id在结果集1中的员工信息
select did from dept where dname='财务部' or dname='市场部'
select * from emp where dep_id in(select did from dept where dname='财务部' or dname='市场部' )
结果如下:
情况3:多行多列
查询日期是’2011-11-11’之后的员工信息和部门信息
思路 1查询日期在’2011-11-11’之后的员工信息
2 内连接查询出对应员工的部门信息
select * from emp where join_date>'2011-11-11'
select * from (select * from emp where join_date>'2011-11-11') a,dept where a.dep_id =dept.did
更多推荐
已为社区贡献1条内容
所有评论(0)