検索

[Oracle] データ検索 テーブルの内部結合SQL(JOIN)

テーブルの内部結合

ON句で指定したキー列でテーブルを結合し、一致したデータを抽出します。

SELECT テーブル1.列1 ・・・,テーブル2.列1 ・・・ FROM テーブル1
INNER JOIN テーブル2 ON テーブル1.列1 = テーブル2.列1;
※INNERは省略可能です。

それではサンプルを見てみましょう。
以下のようなorderテーブル(上)とitemテーブル(下)があります。

order_no item_cd
1 A00001
2 A00002
3 A00004

item_cd name
A00001 りんご
A00002 みかん
A00003 すいか


item_cd列をキーに、両テーブルを結合し、一致したデータを抽出するためのSQLです。

上記を実行し、抽出された結果がこちらです。

order_no item_cd name
1 A00001 りんご
2 A00002 みかん


両テーブルでitem_cdが同じであるデータが抽出されました。
 
なお、サンプルのように、「テーブル名 別名」とすることで、各テーブルの項目指定時に別名を使用することが可能です。
テーブル名が長い場合などに便利なので、ぜひ活用してみてください。

[Oracle] データ検索 列に別名をつけるSQL(AS)データの検索(列に別名をつける) 指定した列に別名をつけて抽出する SELECT句で指定した列に対して、AS句で別名を指定します。 ...

 
 
以上が、テーブルを内部結合して検索するための「JOIN」の使い方です。
ぜひ参考にしてみてください。