職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

複数のテーブル結合

2015年05月02日 | mySQL
複数のテーブル結合


■UNION
単純に複数のテーブルから注したデータを集める時に使用

・書式
select カラムA from テーブルA UNION select カラムB from テーブルB

・条件付き
(select カラムA from テーブルA WHERE カラムA>=100)
UNION
(select カラムB from テーブルB WHERE カラムB<=100)

・重複を認める時 
(select カラムA from テーブルA WHERE カラムA>=100)
UNION ALL
(select カラムB from テーブルB WHERE カラムB<=100)

■内部結合
複数のテーブルを何かのキーで結びつけて処理する。お互いに一致するレコードだけ、表示される。

・書式
select カラムA from テーブルA
JOIN テーブルB(結合したい)
ON テーブルA.カラム=テーブルB.カラム;←同じ内容

または、
select カラムA from テーブルA
INNER JOIN テーブルB(結合したい)
ON テーブルA.カラム=テーブルB.カラム;

また、USINGを使うと
select カラムA from テーブルA
INNER JOIN テーブルB(結合したい)
USING(カラム);

・テーブル名にアリアス(俗称)を使うには
select カラムA as アリアスA from テーブルA
INNER JOIN テーブルB(結合したい)
USING(カラム);

・条件 whereを付けるには
select カラムA as アリアスA 
from テーブルA
INNER JOIN テーブルB(結合したい)
USING(カラム)
where テーブルA.カラムA>=3;

■外部結合
結合したテーブルのすべてのカラムを表示する。結合には左外部結合と右外部結合がある。

.左外部結合(LEFT JOIN)
select カラムA from テーブルA
LEFT JOIN テーブルB(結合したい)
ON テーブルA.カラム=テーブルB.カラム;←同じ内容

・右外部結合(RIGHT JOIN)
select カラムA from テーブルA
LEFT JOIN テーブルB(結合したい)
ON テーブルA.カラム=テーブルB.カラム;←同じ内容

■自己結合
自分自身と結合する。順位付けにする時に使う

・SELECT カラム FROM テーブル AS エリアス1 JOIN テーブル AS アリアス2;
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする