Sql 选择没有任何学生注册的部分
我想选择所有没有学生注册的部分 以下是三个表格:Sql 选择没有任何学生注册的部分,sql,join,oracle11g,Sql,Join,Oracle11g,我想选择所有没有学生注册的部分 以下是三个表格: 注册 学生id,章节id 部分 课程编号,章节编号 课程 课程id,说明 输出表应如下所示: course|u id | description | section|u id 我不是加入使用的舒尔。所以你想要 SELECT course_id , description , section_id FROM COURSES INNER JOIN SECTIONS ON COURSES.course_i
注册
学生id,章节id
部分
课程编号,章节编号
课程
课程id,说明
输出表应如下所示:
course|u id | description | section|u id
我不是加入使用的舒尔。所以你想要
SELECT
course_id
, description
, section_id
FROM
COURSES
INNER JOIN
SECTIONS
ON
COURSES.course_id = SECTIONS.course_id
LEFT JOIN
ENROLLMENTS
ON
ENROLLMENTS.section_id = SECTIONS.section_id
WHERE
ENROLLMENTS.student_id IS NULL;
这将从
课程
和部分
获取所有信息,然后将其加入到注册
,保留没有注册的课程
和部分
的所有信息。然后通过选择注册
学生id
为空
的位置,我们可以在部分
中找到所有没有部分id
的条目,为什么不使用子查询
SELECT
sections.course_id,
courses.description,
sections.section_id
FROM
courses INNER JOIN sections ON courses.course_id = sections.course_id
WHERE
courses.section_id NOT IN (SELECT section_id FROM enrollments)