【问题标题】:SQL query to select data from two tablesSQL查询从两个表中选择数据
【发布时间】:2012-11-29 15:38:24
【问题描述】:

我有两张桌子,即

邀请

  • 邀请 ID
  • 用户 ID
  • 电子邮件

用户

  • 用户 ID
  • 用户名

我在两个表中都有数据

邀请表格数据

29  NULL    test1@example.com   
40  8       test2@example.com                                                                       
41  8       test3@example.com     

用户表数据

8     someone@example.com

现在我想从Invitation 表中选择所有数据,还想从Users 表中选择Username,其中Invitation.InvitationID 等于Users.UserID。

我使用以下查询来选择数据

SELECT 
    Invitations.*, Users.UserName
FROM
    Invitations 
INNER JOIN
    Users ON Invitations.UserID = Users.UserID

但它只返回两行。我想从Invitation 表中选择所有行。如果Invitation.UserID 是null,那么Username 也是null。我想要这样的输出:

 29  NULL   test1@example.com   Null
 40  8      test2@example.com   someone@example.com                                                                  
 41  8      test3@example.com   someone@example.com 

【问题讨论】:

    标签: sql-server-2008 sql-server-2012


    【解决方案1】:

    你必须使用左连接:

    SELECT Invitations.*, Users.UserName
    FROM     Invitations left JOIN
                  Users ON Invitations.UserID = Users.UserID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多