我有以下两个表,Userdata 和 Activity:
Table Userdata
User Email RealName
Alpha alpha@domain.com Taylor
Beta beta@domain.com Samuelson
Table Activity
User Group MemberID
Alpha 5 09856
Gamma 2 09537
现在我尝试使用以下sql语句:
SELECT Activity.*,Userdata.* FROM Activity INNER JOIN Userdata ON Userdata.User=Activity.User
但是,用户 Gamma 的行没有返回。即使 Userdata 中没有 Gamma 数据,我怎样才能让他也返回?
user2467577
问问题
61 次
1 回答
2
INNER JOIN
仅在两个表中都存在值的行上连接两个表。 LEFT OUTER JOIN
将完成您想要的,允许连接表为连接字段中的任何给定值设置一个空集,否则初始表中会出现:
SELECT
Activity.*,
Userdata.*
FROM
Activity
LEFT OUTER JOIN Userdata ON Userdata.User = Activity.User
您还可以参考MySQL 手册以获取有关JOINs
.
于 2013-07-20T15:41:23.303 回答