SQL中JOIN查询结果如何去除重复的ID列
解决JOIN查询后重复ID列的问题
嘿,刚接触SQL编程遇到这种问题太正常啦~你现在用SELECT *会把关联的两个表的所有列都返回,所以才会出现重复的ID列(一个来自test表,一个来自country表)。要去掉右侧那个重复的ID,只需要明确指定你需要输出的列,而不是用通配符*。
修改后的SQL查询
SELECT test.id, test.name, test.gender, country.nation AS Country FROM test JOIN country ON test.id = country.id;
为什么这么做?
test.id:保留主表的ID列即可,因为两个表的ID通过JOIN条件是完全匹配的,不需要重复显示test.name、test.gender:选择test表中你需要的其他列country.nation AS Country:选择country表中的国家名称,并用AS给列起一个和你示例一致的别名,让输出更直观
简化写法(可选)
如果列名在两个表中没有重复(比如name、gender只在test表存在,nation只在country表存在),也可以省略表名前缀,写法更简洁:
SELECT id, name, gender, nation AS Country FROM test JOIN country ON test.id = country.id;
修改后的查询输出就会变成你想要的样子:
ID Name Gender Country
1 Abdur-Rahman M America
2 Don Madden M England
3 Dustin Tompkins M America
4 Nicki Harris F Germany
5 Samantha Harris F France
内容的提问来源于stack exchange,提问作者CodeAbdul
相关产品推荐
相关产品推荐

