142 votes

Joindre des tables dans deux bases de données différentes ?

Dans MySQL, j'ai deux bases de données différentes -- appelons-les A y B .

Est-il possible d'effectuer une jointure entre une table qui se trouve dans la base de données ? A à une table qui est dans la base de données B ?

178voto

OMG Ponies Points 144785

Oui, en supposant que le compte dispose des autorisations appropriées que vous pouvez utiliser :

SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;

Il suffit de faire précéder la référence de la table du nom de la base de données dans laquelle elle réside.

10 votes

Qu'en est-il de deux bases de données provenant de serveurs différents ? (par exemple, une base de données sur un serveur de services en nuage, et une autre sur votre propre serveur).

1 votes

Est-il possible de joindre des bases de données différentes, DB1 = mysql et DB2 = PostgreSQL). Les deux ont quelques tables communes.

1 votes

@YuvalA.@boatcoder je ne pense pas que Yuval pose des questions sur les performances. il demande simplement comment faire une jointure interserveur. ce serait assez difficile puisque vous devez demander au client d'établir deux connexions.

4voto

Senthil Points 1259
SELECT <...> 
FROM A.tableA JOIN B.tableB

2voto

Kalaivani M Points 879
SELECT *
FROM A.tableA JOIN B.tableB 

o

SELECT *
  FROM A.tableA JOIN B.tableB
  ON A.tableA.id = B.tableB.a_id;

1voto

Noel Swanson Points 131
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;

Veillez simplement à préciser dans la ligne SELECT les colonnes de la table que vous utilisez, soit par référence complète, soit par alias. Toutes les options suivantes fonctionnent :

SELECT *
SELECT t1.*,t2.column2
SELECT A.table1.column1, t2.*
etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X