在mySQL中联接4个表并包含NULL值

时间:2019-02-25 03:20:30

标签: mysql select outer-join

我正在尝试列出所有已订购的产品的所有顾客的姓名,并包括没有订购的顾客。另外,如果客户多次订购相同的产品,则只为该客户列出一次产品。

我已经开始设置查询,因此它可以显示所有客户和已订购的每种产品,但我似乎无法弄清楚如何添加具有NULL值的客户(这意味着他们尚未订购产品。)左外连接应该以某种方式使用。这是我到目前为止的内容:

select distinct
c.customerName, p.productName
from
products p, customers c, orders o, orderDetails d
left join 

1 个答案:

答案 0 :(得分:0)

使用left join时,语法如下:

select distinct
c.customerName, p.productName
from customers c
left join order o on c.id = o.customer_id
left join orderDetails d on o.id = d.order_id
left join products p on p.id = d.product_id AND
          p.productName = 'cow'