SQL Server 2005中是否有自然连接替换?

时间:2010-05-24 14:17:24

标签: sql sql-server sql-server-2005

我有两个表,我想通过ID字段加入。我试图用这个“INNER JOIN”。一切都会好,但有两个问题:

  1. 因此,我收到两列ID。
  2. 我必须省略指定应在select语句下显示的列。我想在那里使用*。
  3. 我认为其他sql-s有类似自然连接的东西,这可能(或不是?)是我的问题的答案。不幸的是,SQL Server(2005)中没有类似的连接。 有人知道有什么好的替代品吗?

2 个答案:

答案 0 :(得分:5)

SQL Server没有自然连接,只列出您想要的所有列。 (您可以将SSMS中的表列文件夹拖到代码窗口中,并列出该表的所有列,然后删除您不想要的那些列)

答案 1 :(得分:2)

我想你想要

SELECT * FROM x INNER JOIN y ON x.id = y.id

但是你想跳过y.id(因为它重复了x.id)。

如果这是正确的:不,在我知道的任何SQL方言中都没有办法做到这一点。你不得不说

SELECT x.*, y.col1, y.col2, ... FROM x INNER JOIN y ON x.id = y.id