关于数据库Oracle的一道题a.course=b.course是什么意思?能通俗点解析吗?

selectcourseidas课程ID,courseas课程名称,nvl(avg(grade),0)as平均成绩,(selectcount(grade)fromtrai... select courseid as 课程ID,course as 课程名称,nvl(avg(grade),0) as 平均成绩,
(select count(grade) from train a where grade<60 and a.course = b.course) / count(grade)*100||'%' as 不及格百分数
from train b
Group By courseid,course
Order By 不及格百分数,平均成绩 desc
a 和b 不都是train吗?有什么区别?
a.course=b.course是【内连接】还是【外连接】还是【自连接】?
他们是【自连接】,物理上一份,而逻辑上两份
展开
 我来答
百度网友ea1c09c
2011-04-13 · TA获得超过1004个赞
知道小有建树答主
回答量:856
采纳率:0%
帮助的人:1298万
展开全部
是【自连接】,b作为主表,a作为b的镜像
a.course=b.course是为了确保a中的数据与b一致
grade<60 这句其实应该写成a.grade<60 更好些
表示 a表是在b表(a复制了b)的数据基础上,筛选出满足条件grade<60的数据
也就是说a表是b表一个grade<60的子集,即不及格的数据
从而实现计算“不及格百分数”
这样你明白了吧
来自:求助得到的回答
生活呀真美好
2011-04-13 · TA获得超过1100个赞
知道小有建树答主
回答量:902
采纳率:0%
帮助的人:781万
展开全部
是子查询,因为Group By 分组时,select 只能显示分组的字段,所以必须要用子查询显示其它的内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
脑子有病是吧
2011-04-12 · TA获得超过126个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:129万
展开全部
就是把a表 和b表通过 course这一列链接在一起
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式