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は有効活用できないと思う。
関連記事
-
SQLで同じ値を複数のレコードに対してUPDATE
やりたかった事は、複数のレコードに対して 同じ値に更新したいというもの。 $sq ...
-
MySQLでdatetime型にもインデックスを使用して高速化を図る方法
ログ関連のデータを格納するテーブルがあり、集計を行う際に非常に時間がかかった。レ ...
-
MySQLでtext型カラムに入っている数値をint型としてソートする
MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...
-
MySQLで複数のコード及びスコアで検索して、スコアが無いものは0を取得する
やりたかった事は下記の通り。 ・ユニークなコードがあり、そのコードに対して複数の ...
-
文字コードのutf8_general_ciとutf8_unicode_ciの違い
MySQLで設定する時に使っているサーバーによってデフォルトの文字コードがutf ...