gpt4 book ai didi

Mysql模拟FULL OUTER JOIN

转载 作者:行者123 更新时间:2023-12-01 00:48:44 27 4
gpt4 key购买 nike

我有 2 个表 users 和 orders,我想获取 users 和他的订单数

SELECT `users`.*, `orders`.*,count(*) FROM `users` LEFT JOIN orders ON  
`users`.`id` = `orders`.`user_id`
UNION SELECT `users`.*, `orders`.*,count(*) FROM users
RIGHT JOIN orders ON `users`.`id` = `orders`.`user_id`

此查询选择有订单的用户和订单数,但不选择没有订单的用户。

我想得到

user orders
John 5
Thomas 0
Mike 8

我得到了什么

user orders
John 5
Mike 8

如何获取没有订单的用户?

最佳答案

为此您不需要完全外部联接。假设 orders 表中的所有用户都具有对 users 表的有效引用,左外连接应该没问题:

SELECT u.*, count(o.user_id)
FROM `users` u LEFT JOIN
orders o
ON u.`id` = o.`user_id`
group by u.id

关于Mysql模拟FULL OUTER JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18365946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com