选择表的所有记录,从另一个记录中记录少量记录

时间:2013-03-03 21:18:42

标签: sql

我想这样做:

列出客户详细信息的订单,但包括所有客户即使他们没有下订单

我写了以下

SELECT Customers.CompanyName,Customers.City,Customers.Country,Orders.OrderDate, Orders.RequiredDate
FROM Customers 
INNER JOIN Orders
        ON Orders.CustomerID = Customers.CustomerID 
ORDER BY Customers.CompanyName;

但它只返回下订单的人。我也希望得到那些没有下订单的人。

数据库是 northwind

1 个答案:

答案 0 :(得分:4)

使用LEFT JOIN并查看w3school处的示例。它将获取所有具有共同CustomerID的记录以及从第一个表

中不常见的记录
 select Customers.CompanyName,Customers.City,Customers.Country,Orders.OrderDate, Orders.RequiredDate
    FROM Customers LEFT JOIN
      Orders
      ON Orders.CustomerID=Customers.CustomerID
      order by Customers.CompanyName;