我有以下两个表,Userdata 和 Activity:
表用户数据
用户 电子邮件 realname
alpha alpha@domain.com taylor
beta beta beta beta beta@domain.com
表事件
user group 成员
alpha 5 09856
gamma 2 09537
现在我尝试使用下面的sql语句:
SELECT Activity.*,Userdata.* FROM Activity INNER JOIN Userdata ON Userdata.User=Activity.User
但是,尚未返回用户 Gamma 的行。即使在 Userdata 中没有 Gamma 数据,我怎样才能让他也返回?
最佳答案
INNER JOIN
仅在值存在于两个表中的行上连接两个表。 LEFT OUTER JOIN
将完成您想要的,允许连接表为连接字段中的任何给定值设置一个空集,否则会出现在初始表中:
SELECT
Activity.*,
Userdata.*
FROM
Activity
LEFT OUTER JOIN Userdata ON Userdata.User = Activity.User
也可以引用the MySQL manual有关 JOIN
的更多信息。
关于php - Mysql语法帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17763840/