勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

MySQLで複数のテーブルを異なるデータベースと異なるカラムでJOIN

   

ちょっとややこしいんだけど、以下のような条件で3つのテーブルを結合したかった。

 

・db1.table1のidカラムとdb2.table2のidカラムを結合
・db1.table1のcodeカラムとdb1.table3のcodeカラムを結合

 

db1とdb2では異なるデータベースを結合するけど、db1内で結合する際はカラムが異なるというケース。

以下のSQL文でいけた。

 

数十件ぐらいのデータでテストしただけなので速度は分からないけど、まず間違いなく重たいクエリになるのでインデックスうまいこと張らないといけなさそう。

 - MySQL

  関連記事

MySQLのUNION

$sql_1 = "SELECT name_a,name_b FROM tabl ...

MySQLでdatetime型にもインデックスを使用

ログ関連のデータを格納するテーブルがあり、集計を行う際に非常に時間がかかった。レ ...

MySQLでパターンマッチの逆

LIKE検索の逆ってなったのでメモ。 NOT LIKE '%あああ%' が正解み ...

MySQLで文字列の置換

MySQLで文字列の置換を行いたかった。以下に方法をメモ。   置換方 ...

phpMyAdminより高速で軽量なAdminerが凄い

MySQLをGUIで管理できるphpMyAdmin。特に不満はないんだけど、もっ ...

mysqlでrootのパスワードが分からない場合

pleskで管理しているサーバがあり、mysqlのrootのパスワードが分からな ...

MySQLでランダムに取得

SELECT カラム名 FROM テーブル名 ORDER BY RAND() L ...

MySQLでサイズの大きいファイルのインポート

MySQLでサイズの大きいdumpファイルを異なるサーバに移行したかった。また移 ...

LEFT JOIN

なんとなくで覚えていたMySQLのLEFT JOINを 最近使うことがあり、上手 ...

テンポラリテーブルで高速化

5000万件ぐらいデータが入っているテーブルから 日本語検索しないといけないケー ...