勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

LEFT JOIN

   2014/07/03  MySQL

なんとなくで覚えていた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

  関連記事

SQLで同じ値を複数のレコードに対してUPDATE

やりたかった事は、複数のレコードに対して 同じ値に更新したいというもの。 $sq ...

MySQLでdatetime型にもインデックスを使用して高速化を図る方法

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

MySQLでtext型カラムに入っている数値をint型としてソートする

MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...

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

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

文字コードのutf8_general_ciとutf8_unicode_ciの違い

MySQLで設定する時に使っているサーバーによってデフォルトの文字コードがutf ...