嵌套和多表连接的区别
嵌套只能出现在最外层的结果
多表连接(笛卡尔积)所有表中的所有列都在结果中
查询张三的成绩
select grade
from student s, sc
where s.sno = sc.sno and sname = '张三'
查询DB课程的成绩
查询张三选修课的课程名称
查询没有不及格的学生的姓名
本查询只能用嵌套实现
查询不及格就是成绩全部及格
*先说嵌套执行过程
1 可以单独查询
2 先执行最里面的那个
3 外层条件必须是sno
4 要用in,子查询返回值是多个
5 用等号,确定子查询结果只有一个*
查询平均分大于80分的学生姓名
查询张三选修的课程名称(嵌套)
先得到张三的学号,张三学号是唯一的用等于号,再找到张三的课程号
嵌套和多表连接的区别
嵌套只能出现在最外层的结果
多表连接(笛卡尔积)所有表中的所有列都在结果中
如果嵌套:只能查询出来课程名称
多表连接:可以查询出课程名称和成绩