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.
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