SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。
内部結合
内部結合はクロス結合で作成される全行×全行の組み合わせの内、指定した2つの列の要素が一致する行のみ抽出します。
内部結合の構文は以下のとおりです
select * from テーブルA inner join テーブルB on テーブルA.列名 = テーブルB.列名
まず結合したい2つのテーブルを「INNER JOIN」で繋ぎます。
結合条件に使用する2つの列を「ON テーブルA.列名 = テーブルB.列名」と指定します。
内部結合の使用例
「テスト」テーブルと「生徒」テーブル2つのテーブルのクロス結合を行い、2つのテーブルの生徒IDが一致する行のみを抽出します。
クロス集計の同一行内の生徒IDの値を比較し、同じ値の行を抽出。
2つのテーブルで生徒IDの値が一致している必要があるため、「テスト」テーブルにのみ存在している「A002」のデータは抽出されない。
両方のテーブルに結合条件が一致するデータ無いとダメ。