【发布时间】:2011-08-07 14:08:56
【问题描述】:
在 MySQL 中,我有两个不同的数据库 -- 我们称它们为 A 和 B。
是否可以在数据库 A 中的表与数据库 B 中的表之间执行连接?
【问题讨论】:
在 MySQL 中,我有两个不同的数据库 -- 我们称它们为 A 和 B。
是否可以在数据库 A 中的表与数据库 B 中的表之间执行连接?
【问题讨论】:
是的,假设该帐户具有您可以使用的适当权限:
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;
您只需在表引用前加上它所在的数据库的名称。
【讨论】:
ERROR 1146 (42S02): Table 'currentdb.otherdb.tablename' doesn't exist
FROM A.table1 JOIN B.table2 ON B.table2 .column2 = A.table1.column1
SELECT <...>
FROM A.tableA JOIN B.tableB
【讨论】:
SELECT *
FROM A.tableA JOIN B.tableB
或
SELECT *
FROM A.tableA JOIN B.tableB
ON A.tableA.id = B.tableB.a_id;
【讨论】:
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;
只需确保在 SELECT 行中指定要使用的表列,通过完整引用或别名。以下任何一项都可以:
SELECT *
SELECT t1.*,t2.column2
SELECT A.table1.column1, t2.*
etc.
【讨论】: