テーブル結合(JOIN)
データベース関連で出てくるよ
2つのテーブルをくっつけて1つのテーブルっぽくするよ
スポンサーリンク
簡単に書くよ
テーブル結合(JOIN)(読:テーブルケツゴウ)とは
データベースの話で出てくる用語のひとつ
であり
複数のテーブル
(データベースにおける実際にデータが入っている箱)を合体させて1つのテーブルっぽくすること
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「データベース」と「テーブル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
データベースは「データを入れておく箱」です。
ただし「データベース」という用語は、実際には もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。
とりあえず
データベースの話において、実際にデータを入れておく箱がテーブル
と覚えてください。
以上を踏まえて、本題に入ります。
データベースの話で出てくるテーブルですが、実は合体できます。
2つのテーブルをくっつけて、1つのテーブルっぽくできるのです。
例えば、そうですね。
以下の2つのテーブルが あったとしましょう。
■1つ目のテーブル(テーブル1)
| 名前 | 性別 |
|---|---|
| ピヨ太 | 男 |
| ピヨ子 | 女 |
| ピヨ太ママ | 女 |
■2つ目のテーブル(テーブル2)
| 名前 | 年齢 |
|---|---|
| ピヨ太 | 成人済み |
| ピヨ子 | 永遠の17歳 |
| ピヨ太パパ | おっさん |
1つ目のテーブル(テーブル1)には「名前」と「性別」があります。
2つ目のテーブル(テーブル2)には「名前」と「年齢」があります。
「名前」に注目すると、何となく合体できそうな気がしませんか?
実際問題、合体できます。
合体させることによって、例えば「名前」と「性別」と「年齢」があるテーブルを新たに作ったりできます。
この
複数のテーブルを合体させて1つのテーブルっぽくする
のが「テーブル結合」です。

例えば
| 名前 | 性別 |
|---|---|
| ピヨ太 | 男 |
| ピヨ子 | 女 |
| ピヨ太ママ | 女 |
と
| 名前 | 年齢 |
|---|---|
| ピヨ太 | 成人済み |
| ピヨ子 | 永遠の17歳 |
| ピヨ太パパ | おっさん |
を合体させて
| 名前 | 性別 | 年齢 |
|---|---|---|
| ピヨ太 | 男 | 成人済み |
| ピヨ子 | 女 | 永遠の17歳 |
| ピヨ太ママ | 女 | |
| ピヨ太パパ | おっさん |
のようにしたりするのがテーブル結合です。
なお、テーブル結合には、いくつかのやり方があります。
一般的なのは
1.内部結合(INNER JOIN):2つのテーブルの合体可能なデータのみ取り出すやり方

2.左外部結合(LEFT OUTER JOIN):テーブル1の全データを取り出して、それにテーブル2のデータをくっつけるやり方

3.右外部結合(RIGHT OUTER JOIN):テーブル2の全データを取り出して、それにテーブル1のデータをくっつけるやり方

4.完全外部結合(FULL OUTER JOIN):両方のテーブルの全データを取り出して、くっつけられる範囲でくっつけるやり方

5.交差結合(CROSS JOIN):両方のテーブルの全データを取り出して、すべての組み合わせでくっつけるやり方

の5つです。
それぞれの詳細は、ここでは書きません。
興味がある方は
・内部結合(INNER JOIN)
・左外部結合(LEFT OUTER JOIN)
・右外部結合(RIGHT OUTER JOIN)
・完全外部結合(FULL OUTER JOIN)
・交差結合(CROSS JOIN)
の説明を ご覧ください。
一言でまとめるよ
まぁ「テーブル結合」って単語が出てきたら「複数のテーブル
(データベースにおける実際にデータが入っている箱)を合体させて、1つのテーブルっぽくするんだな~」と お考えください。
おまけ
■訳してみるよ
「table(テーブル)」の意味は「机」とか「テーブル」とか「表」とかです。
「結合」は日本語ですね。
何となく くっつけると
表を結合
となります。
■検索してみる?






