我有一个查询"查找2009年秋季学期和2010年春季学期所教授的所有课程"如
SELECT
course_id
FROM
section S
WHERE
semester = 'Fall'
AND YEAR = 2009
AND EXISTS (
SELECT
*
FROM
section T
WHERE
semester = 'Spring'
AND YEAR = 2010
AND S.course_id = T.course_id
);
在内部查询的where子句的第二部分中,您可以看到S.course_id=T.course_id
。什么是S.course_id
?这是外部查询产生的关系的course_id
吗?
答案 0 :(得分:0)
是S.course_id是外部查询中的列 S.course_id = T.course_id仅选择内部和外部查询中具有课程ID的记录等于
为了找到2009年秋季学期和2010年春季学期所教授的所有课程,您的查询应该是
SELECT course_id FROM section
WHERE
semester = 'Fall' AND year = '2009'
UNION
SELECT course_id FROM section
WHERE
semester = 'Spring' AND year = '2010'
;