首页 > 解决方案 > 为什么我在 SQL 中连接两个表时主键重复?

问题描述

假设我们有两个表,两者的键都是name_id

使用以下代码:

SELECT * FROM table1 INNER JOIN table2 ON table1.name_id = table2.name_id

我得到一个重复的输出name_id,即:

name_id column_2 name_id column_4
1       x        1       y

我正在使用DBIR 中的包在 SQL 中进行查询。任何想法为什么name_id重复?

标签: sqlrdbi

解决方案


select *从子句中的所有表中选择所有列,按from子句中表的出现排序from

一个(合理的)例外是当您使用该USING子句时:

SELECT *
FROM table1 INNER JOIN
     table2 
     USING (Name_id);

但是,并非所有数据库都支持这种标准语法。


推荐阅读