关系查询返回空值

时间:2015-08-26 10:09:46

标签: mysql

我有一个问题。在我的数据库中有2个表。比如说: 日历表

  • UID
  • 名称

注册表

  • UID
  • CALENDAR_ID
  • USER_ID
  • 来了(-1不,0未定,1是) 0 =未定但未记录也未决定

用户表

  • UID
  • 名称

我希望看到用户参加特定活动的内容。所以我有查询:

SELECT *
FROM user u, signup s
WHERE u.uid = s.user_id
AND s.event = 1

但这向我显示了实际在数据库中创建记录的所有用户。我还想看到注册表中没有记录的用户。我怎样才能做到这一点?

亲切的问候,

1 个答案:

答案 0 :(得分:1)

不要再使用旧的隐式连接语法。使用显式连接。在你的情况下 - 左连接

SELECT *
FROM user u
LEFT JOIN signup s ON u.uid = s.user_id
                  AND s.event = 1