H2从2中选择一个

时间:2018-04-06 11:46:17

标签: sql h2

我有3个表,用户,课程和课程表。我希望得到那些没有参加特定课程的用户。所以我想我需要以某种方式合并2选择与右连接。如何从2个选项中选择一个?

SELECT ID, NAME, LASTNAME, ROLE FROM COURSERELATION JOIN USERS ON
ID_USER = ID WHERE ID_COURSE = ?

RIGTH JOIN 

SELECT ID, NAME, LASTNAME, ROLE from COURSERELATION JOIN USERS ON
ID_USER = ID WHERE ID_COURSE != ?

1 个答案:

答案 0 :(得分:0)

您需要提取不存在的用户特定课程的该用户记录。您可以使用子查询上的NOT EXISTS子句过滤行。

请尝试以下查询:

SELECT u.ID,
       u.NAME,
       u.LASTNAME,
       u.ROLE
  FROM USERS u
 WHERE NOT EXISTS (SELECT 1
                     FROM COURSERELATION s
                    WHERE s.id_user = u.id
                      AND s.id_course = 'YOUR_COURSE_ID_HERE' )