基本SQL - 如果您知道,最好的答案是什么?

时间:2017-11-27 17:10:33

标签: sql-server

在SQL Server中,您有一个Customer表和一个Order表。两个表之间的关系是CustomerId字段。它是从Orders返回主表Customer的外键。考虑到这一点,您将如何编写一个查询,以检索没有订单的客户。

1 个答案:

答案 0 :(得分:2)

以下内容将返回查询左侧的所有客户,并在右侧显示没有匹配订单记录的NULL。 然后我们过滤到只显示右表中带NULL的那些。

SELECT *
FROM   Customers c
       LEFT JOIN Orders o
           ON c.CustomerId = o.CustomerId 
WHERE  o.CustomerId IS NULL

下面是一个很好的图表,解释了不同类型的连接

enter image description here