勉強したことのメモ

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

  関連記事

MySQLでユニークキーをはる

MySQLでseqとcodeみたいなものをあわせて ユニークキーをはりたかった。 ...

MySQLでオートインクリメントを使用せずにグループ毎に連番を設定する方法

MySQLでオートインクリメントを使用せずにグループ毎で連番を割り振りたかった。 ...

MySQLでデータがあれば更新、無ければ挿入

DBにデータがあれば更新、無ければ挿入(新規作成)を 行いたい際に使えるものがあ ...

MySQLでWhere句をつけてdumpする

MySQLであるテーブルからWhere句をつけて、絞った結果をダンプさせたかった ...

プリペアドステートメント

個人的に得た内容として、SQL文だけ先にDBに送って、 変数は後で送る。だからS ...