从 sql 中的多个选项卡 "SELECT *" 不重复的最佳方法?
Best way to "SELECT *" from multiple tabs in sql without duplicate?
我正在尝试通过 SELECT 语句从我的数据库中检索存储在 2 个选项卡中的所有数据。
问题是每个选项卡中有很多列,手动选择每一列会很麻烦。
所以我很自然地想到了使用连接 :
select * from equipment
join data
on equipment.id = data.equipmentId
问题是我在结果中得到了 2 次设备 ID。
我认为也许某些特定的连接可以帮助我过滤掉重复的键,但我无法找到一种方法......
有什么方法可以过滤掉外键,或者有更好的方法来完成整个事情(我宁愿不必 post 处理数据来手动删除那些重复的列)?
您可以使用 USING 子句。
"The USING clause specifies which columns to test for equality when
two tables are joined. It can be used instead of an ON clause in the
JOIN operations that have an explicit join clause."
select *
from test
join test2 using(id)
您也可以使用NATURAL JOIN
select *
from test
natural join test2;
我正在尝试通过 SELECT 语句从我的数据库中检索存储在 2 个选项卡中的所有数据。 问题是每个选项卡中有很多列,手动选择每一列会很麻烦。
所以我很自然地想到了使用连接 :
select * from equipment
join data
on equipment.id = data.equipmentId
问题是我在结果中得到了 2 次设备 ID。 我认为也许某些特定的连接可以帮助我过滤掉重复的键,但我无法找到一种方法...... 有什么方法可以过滤掉外键,或者有更好的方法来完成整个事情(我宁愿不必 post 处理数据来手动删除那些重复的列)?
您可以使用 USING 子句。
"The USING clause specifies which columns to test for equality when two tables are joined. It can be used instead of an ON clause in the JOIN operations that have an explicit join clause."
select *
from test
join test2 using(id)
您也可以使用NATURAL JOIN
select *
from test
natural join test2;