SQL 内部結合のサンプル(inner join)

SQLの内部結合のサンプルです。
inner joinを使用します。

目次

内部結合(inner join)

select  項目  from「テーブルA 」 inner join 「テーブルB」on  結合する条件
  • inner joinは、内部結合と呼ばれます。
  • 以下を満たす行を表示します。
    ・「テーブルA」と「テーブルB」で条件が一致した行

テストデータ

次の2つのテーブルがあるとします。

usersテーブル
user_id name
1 鈴木
2 田中
salesテーブル
user_cd item_no
1 A001
1 B001
99 D001

SQL文

上記テーブルに対してinner joinを使用してデータを抽出します。

4行目は、inner joinです。
5行目は、上記2つのテーブルにあるuser_idとuser_cdを結合条件としています。

SELECT
u.user_id,u.name,s.user_cd,s.item_no
FROM users u
inner join sales s 
on u.user_id = s.user_cd;

 

結果は、以下のとおりです。
表の1,2行目は、上記SQLの5行目の条件に一致した行です。
usersテーブルにある"田中"の行とsalesテーブルにあるuser_cd=99の行は抽出されません。

実行結果
user_id name user_cd item_no
1 鈴木 1 A001
1 鈴木 1 B001

 

結合条件をwhereに書き換える

inner join ~ on のonをwhereにできます。
結果は上記と同じです。

5行目は、onの代わりにwhereを指定しています。

SELECT
u.user_id,u.name,s.user_cd,s.item_no
FROM users u
inner join sales s
where u.user_id = s.user_cd;

 

joinのみでinnerがない場合

joinのみでinnerがない場合です。

4行目は、joinのみです。
結果は、上記のinner joinの時と同じです。

SELECT
u.user_id,u.name,s.user_cd,s.item_no
FROM users u
join sales s
on u.user_id = s.user_cd;

関連の記事

SQL INSERT文のサンプル
SQL UPDATE文とDELETE文のサンプル
SQL 重複行を表示しないサンプル(distinct)
SQL 複数の行をまとめる(集約関数/group by/having)
SQL 外部結合のサンプル(left outer join/right outer join)
SQL 副問合せのサンプル(サブクエリ)
SQL 自己結合のサンプル
SQL UNIONのサンプル

△上に戻る