Published
This post is written in German
Mein Arbeitskollege hatte heute eine interessante Idee: In einer SQL-Abfrage Tabellen aus mehreren
Datenbanken verwenden. Wir dachten zuerst, dass es nicht möglich ist, doch mein Arbeitskollege hatte
noch ein paar Fetzen aus dem MySQL-Handbuch im Kopf. Es geht nichts über einen kurzen Test, also
hab ich einfach mal schnell eine entsprechende SQL-Abfrage an den Server geschickt:
SELECT db1.tblA.*, db2.tblB.* FROM db1.tblA, db2.tblB
Zu unserer großen Freude ging es ohne Probleme. Wenn man dann noch Tabellen-Aliase einsetzt, bleibt
auch die Übersichtlichkeit erhalten:
SELECT a.*, b.* FROM db1.tblA AS a, db2.tblB AS b
Ein wenig später hab ich auch die passende Zeile im MySQL-Handbuch gefunden:
You can refer to a table within the default database as tbl_name, or as db_name.tbl_name
to specify a database explicitly. You can refer to a column as col_name, tbl_name.col_name,
or db_name.tbl_name.col_name. …
Mir fällt zwar keine wirklich konkrete Nutzung dafür ein, aber es ist auf jeden Fall eine interessante Funktion.
In der Quick'n Dirty "Enterprise"-Welt kann man sowas ab und an sicher mal brauchen.