gpt4 book ai didi

mysql - 为什么我在使用内连接时得到不同的结果

转载 作者:行者123 更新时间:2023-11-29 02:31:51 25 4
gpt4 key购买 nike

我有一个包含以下列的表格; a、b、e 和另一个包含 c、d 的表 table2。两个表都有一个列 name

我做了一个查询:

SELECT distinct a, b
from db.table
where e <>'65';

我说,1885 条记录

然后,我需要来自另一个表 (c, d) 的更多信息。我使用 inner join 来获取这些附加信息。查询变为:

SELECT distinct a, b, c, d 
from db.table
inner join db.table2
on table.name=table2.name2
where e <>'65';

现在,我期待相同的结果,但有额外的列 (c, d)。但是我得到了不同数量的结果:51144。任何人都可以解释为什么我只是添加了更多列并且没有改变条件时数量增加了吗?

最佳答案

它叫做 cartesian product实际上,这意味着您可能需要更精确地确定连接 ON 条件。

只有当 table2 表包含一个且只有一个符合条件 table.name=table2.name2 的记录时,才有可能出现相同的结果,每一行来自 表格 表格

关于mysql - 为什么我在使用内连接时得到不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11964278/

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