gpt4 book ai didi

php - 自然连接不返回行

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

我有 2 张 table 表A

col1 col2 col3 col4 col5
1 007 .. .. ..
2 006 .. .. ..
3 008 .. .. ..

表B

 col1  col7  col8 col9 many columns
2 A AA
3 B BB

SELECT col2,col8,col9 FROM 表 A 自然连接表 B 不返回任何行两个表中的 col1 具有相同的名称、数据类型,并且都是主键

我也尝试过

SELECT col2,col8,col9 FROM table A natural join table B using (col1)

上面出现 #1064 错误。

SELECT col8,col2,col9 FROM table A join table B ON A.col1=B.col1

上面返回了所需的结果。为什么自然连接不返回任何行?

如果我使用

SELECT col2,col8,col9
FROM table A
JOIN table B
LIMIT 0 , 30

我得到以下结果

col8 col2 col9
A 007 AA
B 007 BB
A 006 AA
B 006 BB
A 008 AA
B 008 BB

最佳答案

您收到此错误,因为自然连接不需要 using 子句。自然联接自动命名两个表中都存在的所有列。

您必须删除 USING 子句:

从表 A NATURAL JOIN 表 B 中选择 col2,col8,col9

如果您想命名应用于连接的列(而不是 ON 条件),您还可以将连接与 using 子句结合起来。

从表 A 中选择 col2,col8,col9 USING (col1) JOIN 表 B

当您刚加入时,无任何条件,您将获得Cross Join两个表的。

关于php - 自然连接不返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24721095/

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