赞
踩
子查询返回的结果是一列(可以是多行),这种子查询称为列子查询。
常用的操作符:in、not in、any、some、all
返回的结果是一列(可以多行)
返回的结果是一列(可以多行)
返回的结果是一列(可以多行)
【代码】
- -- 列子查询
- -- 1、查询“销售部”和“市场部”的所有员工信息
- -- a.查询销售部和市场部的部门ID
- select id from dept1 where name = '销售部' or name = '市场部'; -- 返回2, 4
- -- b.根据销售部的部门ID,查询员工信息
- select * from emp1 where dept_id in (2, 4);
- -- 合并两个,变为子查询
- select * from emp1 where dept_id in (select id from dept1 where name = '销售部' or name = '市场部');
-
- -- 2、查询比财务部所有人工资都高的员工信息
- -- a.查询财务部的部门ID
- select id from dept1 where name = '财务部'; -- 返回3(id值)
- -- a.查询财务部所有人员工资
- select salary from emp1 where dept_id = 3;
- select salary from emp1 where dept_id = (select id from dept1 where name = '财务部');
- -- b.比财务部所有人工资都高的员工信息
- select * from emp1 where salary > all (select salary from emp1 where dept_id = (select id from dept1 where name = '财务部'));
-
- -- 3、查询比研发部其中任意一人工资高的员工信息
- -- a.查询研发部的部门ID
- select id from dept1 where name = '研发部'; -- 返回1(id值)
- -- a.查询研发部所有人员工资
- select salary from emp1 where dept_id = (select id from dept1 where name = '研发部');
- -- b.比研发部任意一人工资高的员工信息
- select * from emp1 where salary > any (select salary from emp1 where dept_id = (select id from dept1 where name = '研发部'));
- select * from emp1 where salary > some (select salary from emp1 where dept_id = (select id from dept1 where name = '研发部'));
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。