Mysql语法帮助

时间:2013-07-20 15:37:31

标签: php mysql sql

我有以下两个表,Userdata和Activity:
用户数据
 用户 电子邮件 实名
阿尔法alpha@domain.com泰勒

贝塔beta@domain.com萨缪尔

活动
 用户 MEMBERID
阿尔法5个09856

伽玛2 09537

现在我尝试使用以下sql语句:
SELECT Activity.*,Userdata.* FROM Activity INNER JOIN Userdata ON Userdata.User=Activity.User
但是,尚未返回用户Gamma的行。即使Userdata中没有Gamma数据,我怎么能让他也回来?

1 个答案:

答案 0 :(得分:2)

INNER JOIN仅在两个表中存在值的行上连接两个表。 LEFT OUTER JOIN将完成您想要的任务,允许连接表为连接字段中的任何给定值设置一个空集,否则该表将出现在初始表中:

SELECT
    Activity.*,
    Userdata.*
FROM
    Activity
    LEFT OUTER JOIN Userdata ON Userdata.User = Activity.User

您还可以参考the MySQL manual了解有关JOINs

的其他信息