web-dev-qa-db-fra.com

Pouvons-nous utiliser la jointure pour deux tables de base de données différentes?

Pouvons-nous utiliser l'opération de jointure pour deux tables de bases de données différentes? Si oui, comment je le fais?

Les deux bases de données sont sur le même serveur et le SGBD est identique.

83
Vivek Kumar Ray

SQL Server vous permet de joindre des tables de différentes bases de données tant qu'elles se trouvent sur le même serveur. La syntaxe de la jointure est la même; la seule différence est que vous devez spécifier complètement les noms de table.

Supposons que vous ayez deux bases de données sur le même serveur - Db1 et Db2. Db1 a une table appelée Clients avec une colonne ClientId et Db2 a une table appelée Messages avec une colonne ClientId (la raison pour laquelle ces tables se trouvent dans différentes bases de données).

Maintenant, pour effectuer une jointure sur les tables susmentionnées, vous utiliserez cette requête:

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