sql - 为什么我在 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
我正在使用DBI
R 中的包在 SQL 中进行查询。任何想法为什么name_id
重复?
解决方案
select *
从子句中的所有表中选择所有列,按from
子句中表的出现排序from
。
一个(合理的)例外是当您使用该USING
子句时:
SELECT *
FROM table1 INNER JOIN
table2
USING (Name_id);
但是,并非所有数据库都支持这种标准语法。
推荐阅读
- r - 从 R Shiny 中的传单弹出链接更新tabsetPanel
- coldfusion - 如何使用 ColdFusion 生成 saml 响应
- idris - 值类型依赖于键类型的 Map 类型?
- flutter - Flutter:是否有一个小部件可以灵活切换按钮
- python - 如何对嵌套字典进行排序?
- java - 如何更改 hashmap 中键的值
- c# - 如何拥有一个控制子复选框UWP c#的父复选框
- firebase - 未解析的变量$firebaseRefs vue js
- javascript - 为什么会出现“加载资源失败”错误?
- java - NoSuchMethodError Java