选择不在哪里和哪里

时间:2012-12-10 17:01:52

标签: sql database select

我有一个包含课程的表格,我称之为“cours”(法语),我在里面有几个cours,我把它们连接到学生之间,他们之间有一张桌子,看看他们是否上过课。

我想使用SELECT和未选择的数据返回数据。

所以,如果一名学生按照5门课程进行3门课程,我想返回他所关注的3门课程以及他未遵循的2门课程。

有办法吗?

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的一些帮助。