gpt4 book ai didi

mysql - 左外连接自动向父表添加数据

转载 作者:行者123 更新时间:2023-11-29 22:17:46 25 4
gpt4 key购买 nike

正常

Select * from Customer;

最后为我生成了 1060 条客户 ID 1064 的记录。

当我进行复杂查询时

Select A,B,C,D 
from customer

left outer join ...
left outer join....
left outer join....
group by ...
order by...

它给我提供了 1269 条记录。对于左外连接来说仍然没问题。但为什么它会将高于 1060(即 1061-1269)的值添加到 customer ID 中,而这实际上不是 customer 表中的数据。有规则吗?

最佳答案

LEFT JOIN 保留连接表中不匹配的行。因此,您将从两个表中获得额外的行,这些行在您尝试加入的列中不共享值。

试试这个:

create table #test1( id int, dat nvarchar(9))
insert into #test1 values (1, 'test1')

create table #test2( id int, dat nvarchar(9))
insert into #test1 values (2, 'test2')

select * from #test1 t1 left outer join #test2 t2 on t1.id = t2.id

即使表没有匹配的 ID 值,您也会返回两行。

与此对比:

select * from #test1 t1 inner join #test2 t2 on t1.id = t2.id

这什么也得不到,因为我们要加入的 id 列中没有共享值。

关于mysql - 左外连接自动向父表添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31046950/

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