子查询
某些情况下,当进行查询的时候,需要的条件是在另外的一个select语句中,就用到了子查询,用于子查询的关键字主要包括:
in、not in、=、 !=、exists、 not exists等
以两个表来演示子查询
雇员表emp
部门表dept
应用子查询
1、从emp雇员表中查询出所有部门在dept表中的记录
select * from emp where deptno in (select deptno from dept);
2、 如果子查询记录数唯一,还可以使用=代替in
select * from emp where deptno = (select deptno from dept where deptno = 1);
3、某些情况下,子查询可以转换为表连接,例如:
select emp.* from emp, dept where emp.deptno = dept.deptno;