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でseqとcodeみたいなものをあわせて ユニークキーをはりたかった。 ...
-
MySQLでオートインクリメントを使用せずにグループ毎に連番を設定する方法
MySQLでオートインクリメントを使用せずにグループ毎で連番を割り振りたかった。 ...
-
MySQLでデータがあれば更新、無ければ挿入
DBにデータがあれば更新、無ければ挿入(新規作成)を 行いたい際に使えるものがあ ...
-
MySQLでWhere句をつけてdumpする
MySQLであるテーブルからWhere句をつけて、絞った結果をダンプさせたかった ...
-
プリペアドステートメント
個人的に得た内容として、SQL文だけ先にDBに送って、 変数は後で送る。だからS ...