SQL:如何显示一个表中未全部列在第二个表中的所有行

SQL:如何显示一个表中未全部列在第二个表中的所有行,sql,join,Sql,Join,我很难从“Customer”表中获取所有要显示的行,因为它们并非都列在我加入的“SalesOrder”表中 如何从Customer表中获取要显示的所有行,即使它们的值为0?谢谢您的建议:) 使用左联接而不是内联接 SELECT Customer.CID, Customer.Name, COUNT (SalesOrder.CID) AS NbrOrders, SUM (FullPrice) AS [Total Value of Items] FROM Customer LEFT JOIN

我很难从“Customer”表中获取所有要显示的行,因为它们并非都列在我加入的“SalesOrder”表中

如何从Customer表中获取要显示的所有行,即使它们的值为0?谢谢您的建议:)


使用左联接而不是内联接

SELECT Customer.CID, Customer.Name, 
COUNT (SalesOrder.CID) AS NbrOrders, 
SUM (FullPrice) AS [Total Value of Items]
FROM Customer
  LEFT JOIN SalesOrder
  ON Customer.CID=SalesOrder.CID
GROUP BY Customer.CID, Customer.Name;

使用左连接。这将显示第二个表中的值,这些值在第一个表中没有相应的数据。

非常好,您非常有帮助-这很有效,谢谢!结果现在显示没有订单的客户,但是,是否可以将没有订单的客户显示为总价值为0美元?使用
ISNULL
函数
SELECT Customer.CID, Customer.Name, 
COUNT (SalesOrder.CID) AS NbrOrders, 
SUM (FullPrice) AS [Total Value of Items]
FROM Customer
  LEFT JOIN SalesOrder
  ON Customer.CID=SalesOrder.CID
GROUP BY Customer.CID, Customer.Name;