如何使用MySQL Workbench中的SQL运行器连接位于不同数据库中的两个表?
我已经搜索了这个并探索了界面,但无法找到解决方案。
如果Workbench无法实现,是否可以与其他客户端一起使用?
注意:数据库存在于不同的连接和端口下!
答案 0 :(得分:1)
您可以简单地加入不同数据库的表。您需要在FROM子句中指定数据库名称。为了缩短它,在其上添加一个ALIAS,
SELECT a.*, -- this will display all columns of dba.`UserName`
b.`Message`
FROM dba.`UserName` a -- or LEFT JOIN to show all rows whether it exists or not
INNER JOIN dbB.`PrivateMessage` b
ON a.`username` = b.`username`
因此,只需在tablename之前添加数据库名称即可解决问题。
在该案例中,您可以使用FEDERATED Storage Engine加入在两台服务器上运行的两个mysql连接。请参阅doc以了解有关它的更多信息 http://dev.mysql.com/doc/refman/5.0/en/federated-storage-engine.html