我们可以为两个不同的数据库表使用join吗?

时间:2012-07-11 06:37:39

标签: sql database

我们可以对来自不同数据库的两个表使用join操作吗?如果是,我该怎么做?

两个数据库都在同一台服务器上,而DBMS是相同的。

3 个答案:

答案 0 :(得分:149)

只要这些数据库位于同一服务器上,SQL Server允许您连接来自不同数据库的表。连接语法是一样的;唯一的区别是你必须完全指定表名。

假设您在同一台服务器上有两个数据库 - Db1Db2Db1有一个名为Clients的表格,列ClientIdDb2有一个名为Messages的表格,其中包含ClientId列(让' s离开,为什么这些表位于不同的数据库中。)

现在,要在上述表格上执行连接,您将使用此查询:

select *
from Db1.dbo.Clients c
join Db2.dbo.Messages m on c.ClientId = m.ClientId

答案 1 :(得分:2)

您可以在数据库中使用“同义词”部分。

enter image description here

然后在“同义词”选项卡中的“视图”向导中找到您保存的同义词,并添加到视图中,并简单地设置内部联接。 enter image description here

答案 2 :(得分:-1)

 SELECT ...
 FROM A.table1 t1
 JOIN B.table2 t2 ON t2.col2 = t1.col1