勉強したことのメモ

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

LEFT JOIN

      2014/07/03

なんとなくで覚えていたMySQLのLEFT JOINを

最近使うことがあり、上手いこと使えなかったのでメモ。

■参考サイト

http://www.dbonline.jp/mysql/select/index15.html

使いたいケースとしては、異なるテーブル同士でデータを

くっつけて表示させたい時とか。

AテーブルとBテーブルがあったとして、1回ずつそれぞれ

SQL文を書くのも間違いじゃないけど、まとめてやったほうが

負荷対策になる。

$sql = "
    SELECT
        a.name AS a_name,
        a.seq AS a_seq,
        b.code AS b_code
   FROM
        table_a AS a LEFT JOIN table_b AS b
   ON
        a.id = p.id
WHERE ~~~
";

SELECT ~~

普通のSELECTと同様、取得したいデータを書いておく。

*で全取得も可能。[a.]とか[b.]とかなっているのは

次のFROMのところで決められる。

FROM~~

統合したいテーブル1つ目 LEFT JOIN 2つ目でくっつけられる。

ASで名前を決めておくことにより、SELECTの部分であったり、

その他の部分で簡略名を使えるようになる。

ON~~

統合時に紐付けたい情報を指定する。

紐付けられる情報がないと恐らくLEFTJOINは有効活用できないと思う。

 - MySQL

  関連記事

MySQLでテーブルの詳細情報を取得

MySQLでテーブルの詳細情報を取得 desc テーブル名; ■サンプル mys ...

MySQLでユーザー作成時にエラーが発生

SSHからrootアカウントでMySQLにログインし、ユーザーを作成しようとする ...

権限が無い場合のエラー

SQLでINSERTする際、見たことに無いエラーに遭遇した。 INSERT co ...

phpMyAdminでテーブルの操作

table_aと同じ構造のtable_bを作りたい時、 手動で作成するか、tab ...

MySQLで複数のコード及びスコアで検索して、スコアが無いものは0を取得する

やりたかった事は下記の通り。 ・ユニークなコードがあり、そのコードに対して複数の ...

エックスサーバーでMySQLのサイズに注意

エックスサーバーで自動更新のログをMySQLに保存するようなシステムを動かしてい ...

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

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

WordPressで「データベース接続確立のエラー」

WordPressで設定ファイル(wp-config.php)は触っていないのに ...

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

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

異なるVPS間でMySQLの接続を行う

異なるVPS間でMySQL接続を行った際のメモ。 さくらVPS(IP:111.1 ...