查询带先修课的Java相关课程:获取对应先修课描述的SQL问题
修正后的SQL语句及说明
要获取先修课的正确描述,需要对course表进行自连接(Self Join)——因为先修课的信息同样存储在这个表中,通过主课程的PREREQUISITE字段关联对应先修课的COURSE_NO,就能拿到先修课的真实描述。
修正后的SQL语句:
SELECT c.COURSE_NO, c.DESCRIPTION, c.PREREQUISITE AS Prerequisite_course_no, p.DESCRIPTION AS Prerequisite_course_description FROM course c JOIN course p ON c.PREREQUISITE = p.COURSE_NO WHERE c.DESCRIPTION LIKE '%Java%' AND c.PREREQUISITE IS NOT NULL;
关键说明:
- 用别名
c指代当前的Java相关课程,p指代对应的先修课程,避免表名重复导致的字段歧义 - 通过
JOIN course p ON c.PREREQUISITE = p.COURSE_NO建立关联,精准匹配先修课的编号与描述 - 保留原需求的过滤条件:仅筛选描述包含Java且存在先修课的课程
内容的提问来源于stack exchange,提问作者Monique Abbott
相关产品推荐
相关产品推荐

