我有一个包含课程的表格,我称之为“cours”(法语),我在里面有几个cours,我把它们连接到学生之间,他们之间有一张桌子,看看他们是否上过课。
我想使用SELECT和未选择的数据返回数据。
所以,如果一名学生按照5门课程进行3门课程,我想返回他所关注的3门课程以及他未遵循的2门课程。
有办法吗?
答案 0 :(得分:1)
这将根据您的RBDMS而有所不同,但类似于以下内容应该有效:
SELECT
s.Name,
l.Name,
CASE WHEN sl.StudentID IS NULL
THEN 'Not Follows'
ELSE 'Follows'
END AS Status
FROM
Student s
CROSS JOIN Lessons l
LEFT JOIN Student_Lessons sl
ON s.ID = sl.StudentID
AND l.ID = sl.LessonID
答案 1 :(得分:0)
这是outer join
。如果您确定了数据库引擎(可能具有特定的外连接语法)和模式,那么您可以获得实际SQL的一些帮助。