1查询工资比scott高的员工信息
A第一步:查询出scott这个员工的工资
select sal from emp
where ename = 'SCOTT';
B第二步:查询出工资比scott高的员工信息
select * fromemp
where sal >3000;
总结:
子查询的本质:多个select语句的嵌套
2:子查询的知识体系搭建
A合理的书写风格
B子查询外面()不要忘记
C子查询和主查询可以查询的是同一张表,也可以不是同一张表
只要子查询返回的结果,主查询可以用即可。
D在什么地方可以防止子查询
select a,b,c ---OK,只能存放单行子查询,不能使多行子查询
from tab1 ---OK 可以有子查询
where col in(em1,em2) ---可以有子查询
col between a1 and a2
col > 222
col > ()
group by … ---不可以有子查询
having …. ---可以有子查询
order by … ---不可以有子查询
E子查询的分类
1.单行操作符对应单行子查询,多行操作符对应多行子查询。
2.按照子查询返回的条目数,分为:单行子查询和多行子查询
3.单行子查询只能使用单行比较操作符(= > >= < <= <>)
4.多行子查询只能使用多行比较操作符(int any all)
3单行子查询
Eg:查询员工信息和141号工种一样的,薪