Oracle数据库—多表查询

嵌套和多表连接的区别

嵌套只能出现在最外层的结果
多表连接(笛卡尔积)所有表中的所有列都在结果中

查询张三的成绩

select grade
from student s, sc
where s.sno = sc.sno and sname = '张三'

在这里插入图片描述
查询DB课程的成绩
在这里插入图片描述
查询张三选修课的课程名称
在这里插入图片描述

查询没有不及格的学生的姓名

本查询只能用嵌套实现
查询不及格就是成绩全部及格
在这里插入图片描述

  *先说嵌套执行过程
           1 可以单独查询
           2 先执行最里面的那个
           3 外层条件必须是sno
           4 要用in,子查询返回值是多个
           5 用等号,确定子查询结果只有一个*

查询平均分大于80分的学生姓名在这里插入图片描述

在这里插入图片描述

查询张三选修的课程名称(嵌套)

先得到张三的学号,张三学号是唯一的用等于号,再找到张三的课程号
在这里插入图片描述

嵌套和多表连接的区别

嵌套只能出现在最外层的结果
多表连接(笛卡尔积)所有表中的所有列都在结果中

如果嵌套:只能查询出来课程名称
多表连接:可以查询出课程名称和成绩

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值