子查询:
首先要知道是单行单列还是多行多列,以及单行多列!
select()一个值
from()可以当一个表查询
where 值=()同值单行单列
in(子查询),any(子查询),all(子查询) 多行单列,单行单列,in是最常用的
举例:
where值>()同值单行单列
1.查询工资大于10号部门平均工资的员工信息
select avg(sal) from emp where deptno=10 这是我们需要的条件先写出来!
答案:select * from emp where sal>(select avg(sal) from emp where deptno=10)
in(子查询)
2.查询学过“谌燕”老师所教的所有课的同学的学号、姓名;
select SNO,SNAME FROM STUDENT
WHERE SNO IN(SELECT SNO FROM SC WHERE SNO IN(
SELECT SNO FROM COURSE
WHERE TNO=(SELECT TNO FROM TEACHER WHERE TNAME='谌燕')))