gpt4 book ai didi

mysql - 如何在没有 ON 子句的情况下连接 2 个表

转载 作者:可可西里 更新时间:2023-11-01 06:39:39 24 4
gpt4 key购买 nike

我想从两个不同的表中获取SUM(column_a),并求出它们的差值。我正在使用 MySQL。

表 A 的总和 = 1234

表 B 的总和 = 4001

我不确定要在我的 ON 子句中放入什么:

SELECT 
SUM(a.column1) AS table_a_sum,
SUM(b.column1) AS table_b_sum,
SUM(a.column1) - SUM(b.column1) AS difference
FROM table_a a
JOIN table_b b
ON ??????

最佳答案

没有条件的连接是交叉连接。交叉联接为右侧表中的每一行重复左侧表的每一行:

FROM table_a a
CROSS JOIN table_b b

请注意,在 MySQL 中,cross join/join/inner join 是相同的。所以你可以这样写:

FROM table_a a
JOIN table_b b

只要您省略 on 子句,这将用作交叉连接。

如果您想对两个表中的两列求和,交叉连接将不起作用,因为它会重复行。你会得到高度膨胀的数字。对于总和,根据@sgeddes 的回答,更好的方法是使用子查询。

关于mysql - 如何在没有 ON 子句的情况下连接 2 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15508142/

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