我有两张表,一张有用户信息,一张有 oauth 信息。
我允许每个用户帐户有多个 oauth 登录 - 所以我有一个 oauth 表,其中包含:
ID|Provider|Identifier|UserID
我想不出我需要的查询,但我需要使用此表来查找我拥有的具有该 UserID 的所有用户数据。
因此,如果我知道提供者和标识符信息,我就可以使用该行上的 UserID,连接其余数据并让用户登录。我需要左连接或类似的东西吗?
最佳答案
即使未找到匹配项,左联接
也会返回行。由于登录不是用户的人没有意义,因此 inner join
会更合适。 inner join
是默认类型,您可以省略它:
select *
from OathLogins ol
join Users u
on u.ID = ol.ID
where ol.Provider = 'Sesame Street'
and ol.Identifier = 'Bert'
关于mysql left outer join 有两个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17720344/