mysql - 在 mySQL 中加入 4 个表并包含 NULL 值
问题描述
我正在尝试列出客户订购的每种产品的所有客户姓名,并包括没有订单的客户。此外,如果客户多次订购相同的产品,则只为该客户列出一次产品。
我已经设置了查询的开头,因此它显示了所有客户和订购的每个产品,但我似乎无法弄清楚如何添加具有 NULL 值的客户(意味着他们没有订购商品。)我知道左外连接应该以某种方式使用。这是我到目前为止所拥有的:
select distinct
c.customerName, p.productName
from
products p, customers c, orders o, orderDetails d
left join
解决方案
当使用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'
推荐阅读
- c++ - 用一些用户输入向量增加向量的索引向量[x]++
- angularjs - 如何在表格中设置 AngularJS 表单验证
- bash - 启动自定义 init.d 脚本会导致在 localhost 上找不到 404 页面
- ios - 使用 == vs 约束的 Swift 协议:
- python - 使用 pandas 连接向数据框添加一列
- javascript - 无条件的Javascript递归
- javascript - 验证不适用于角度
- dart - “预期 1 个必需参数,但找到 0 个”错误
- php - 如何用 php chmod 0007 很多目录?
- amazon-web-services - How to use AWS Route53 Reusable-Delegation Set when my domain is registered with GoDaddy?