【发布时间】:2020-01-19 20:52:42
【问题描述】:
我正在尝试编写一个查询,该查询将输出用户不属于角色的所有情况。
我试图将此查询限制为尽可能简单(没有循环,等)。
我的例子中的表结构是这样的:
-
表
Team:ID | UserID | RoleID ---+--------+------- 1 | 0 | 0 2 | 0 | 1 3 | 0 | 2 4 | 1 | 0 5 | 1 | 2 -
表
Roles:RoleID | Name -------+----- 0 | AAA 1 | BBB 2 | CCC 3 | DDD 4 | EEE
期望的输出:
UserID | RoleID
-------+-------
0 | 3
0 | 4
1 | 1
1 | 3
1 | 4
我目前使用的代码是:
SELECT *
FROM Team t
RIGHT OUTER JOIN Roles r ON t.RoleID = r.RoleID
LEFT JOIN Roles r1 ON t.RoleID = r1.RoleID
WHERE r.RoleID IS NULL
【问题讨论】:
-
右连接与左连接?!?没有人能理解...
标签: sql left-join outer-join