什么是子查问:当一个查问是另一个查问的子局部时,咱们叫做子查问

子查问的分类:

①从对象间的关系分类

相干子查问:select * from t1 where a1=(select b from t2 where b=a1);

非相干子查问:select * from t1 where a1=(select b from t2 where b=2);

②从查问后果上分类

单列子查问

如何显示与SMITH同一部门的所有员工?

select * from emp where deptno=(select deptno from emp where ename='smith') and ename !='smith';

多列子查问

如何查问与smith的部门和岗位完全相同的所有雇员

select * from emp where (deptno,job) = (select deptno,job from emp where ename='smith');

多行子查问

如何查问和10号部门的工作雷同的雇员的名字、岗位、工资、部门号

select ename,job,sal,deptno from emp where job in(select job from emp where deptno=10);

子查问能够呈现在哪些地位?

。查问列地位

必须是单列子查问并且要取别名,否则报错

。from子句地位

必须非相干子查问,否则报错

。where子句地位

范畴操作符> < ,必须是单列子查问

in 能够是多列子查问