mysql left outer join 有两个条件

标签 mysql sql join left-join inner-join

我有两张表,一张有用户信息,一张有 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/

相关文章:

python - 如何使用 python 修复特定查询以使用分页

java - 解释数据字符串并将其插入到 Java 中正确列位置的 JTable 中

MySQL:有没有办法使用窗口函数而不是子查询来查找每个用户执行操作的平均次数?

sql - 是否可以在 PostgreSQL 中创建可为空的外键约束?

sql - Oracle PIVOT,两次?

python - pandas 读取 sql db2 损坏十进制

mysql - 查询以显示两个连接

mysql - 查询一个报告的两个表(高级)

mysql - ON 子句条件与 MySQL 中的 WHERE 子句条件 WITH JOIN

MySQL安装问题 mysql-5.7.18-linux-glibc2.5-x86_64.tar