5.6.38を使用していますテーブルとテーブルの結合のお話。例として、employeeとwork_locationという2コのテーブルをJOINします。`work_location`.`employee_id`;結果、以下のようにSELECTされますemployeeテーブルのidが4と5の田中さん、伊藤さんが、work_locationテーブルに存在しないので、結果に出てこないのが内部結合の特徴です。`table_nameB`.`col_nameB`です。複数のカラムを結合条件にしたい場合は、続いて、ANDの後に同じように指定します。`work_location`.`employee_id`今度は以下のようにSELECTされますさっきの内部結合と違って、田中さん伊藤さんも結果に出てきますねただ、work_locationに合致するレコードがないので、値はNULLになっています。work_locationに合致しなくても、employeeにレコードがあれば、NULLで持ってくるのが外部結合の特徴です。JOINの時のNULLレコードがなくなっていますねこれはwork_locationをベースにして、employeeをくっつけているから。`work_location`.`employee_id`4~7行目の()で囲まれた中に、もう1コSQL文がありますよねここがサブクエリ、employeeテーブルのidについて、1と2だけSELECTしていますこの結果を7行目のasを挟んで、t1という別名をつけましたつまりは、t1(idが1,2だけのemployee)とwork_locationの結合です結果は以下ただ、結合やサブクエリはやりすぎると性能が悪くなって激遅になるので要注意!以前勤めていた現場では、ローカルPCシステム時代に使っていたレガシーSQLを捨てられずに、SaaS化、機能拡張、ユーザ増などを繰り返していたために、5コも10コもJOINしたSQLをVIEWにして、さらにそいつにJOINしてJOINしてJOINして・・・てなSQLが蔓延していたので、繁忙期になるとDBサーバ君が悲鳴をあげ、必ずシステムが遅延、阿鼻叫喚。悪玉SQL探して~、チューニングして~、お客さんに怒られて~、で徹夜はアタリマエのまさに地獄でした。徹夜はからだにわるいです。返信>世紀末リーダーさんこの業界だとなかなか避けられない場面もあったりで、なかなか大変ですよね。日々の工夫などで時短を図ったり、身体を壊さないことも重要だと感じます。コメントをキャンセルメールアドレスが公開されることはありません。FameThemes。