当前位置: 首页icon 51CTO软考 > 软考资讯 >考试科目 >【持续更新】2023年5月数据库系统工程师 下午题之八

【持续更新】2023年5月数据库系统工程师 下午题之八

作者:mb63219befd42712023-11-09 01:00:14
备考咨询 刷题指导
添加专属学姐
下载资料 2024上半年软考备考资料+考试大纲
下载按钮 下载
引号

摘要:对于【数据库系统工程师】软考考试而言,真题无疑是最重要的学习资料之一。在软考备考过程中,吃透真题、掌握真题所考知识点、熟悉真题的出题思路,对我们提升分数的效果是最明显的,通过对真题的反复练习,还可以查漏补缺。今天,给大家带来【【持续更新】2023年5月数据库系统工程师 下午题】部分真题的详解,一起来看看吧~1、【问题3】(4分)查询每一门课程的间接先修课(先修课的先修课

引号
摘要:对于【数据库系统工程师】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【【持续更新】2023年5月数据库系统工程师 下午题】部分试题的详解,一起来看看吧~



1、【问题3】(4分)查询每一门课程的间接先修课(先修课的先修课),要求输出课程号和间接先修课的课程号。即使某门课程没有先修课,也需要输出,不过其间接先修课为空。此功能由下面的SQL语句实现,请补全。SELECT K1.Cno, (h)FROM COURSE K1 (i) OUTER JOIN COURSE K2(j) ( (k) );
答案:A
答题解析:

本题考查与自身的外联接查询相关知识。

分析:由于要求输出课程号和间接先修课的课程号,因此查询结果中,这两列必修在同一行出现;也就是连接完成后,结果集中应包含Cno, Cpno , Cpno 的Cno, Cpno 的Cpno,而Cpno 的Cpno就是间接先修课的课程号;显然,可以利用COURSE表的两个副本进行连接运算。由于要求“即使某门课程没有先修课,也需要输出,不过其间接先修课为空”,因此连接运算应采用左外连接,保留左边COURSE表中的悬浮元组。

补充完整后的查询语句如下所示:

SELECT K1.Cno, (h)K2.Cpno //K1.Cno为课程号,K2.Cpno为间接先修课的课程号

FROM COURSE K1(i)left OUTER JOIN COURSE K2 //对建立COURSE的两个副本K1和K2,并进行左外连接运算

(j)on ((k)k1.cpno=k2.cno );//设置连接的连接条件




查看完整试题>>>


代理合作学习群