|
テーブルの結合(CROSS JOIN)
SELECT句により複数のテーブルを結合してデータを取得するには、通常JOIN句を利用します。
JOIN句にはINNER, LEFT OUTER, RIGHT OUTER, FULL OUTER, CROSSなどがありますが、
ここではCROSS JOINについて記述します。
CROSS JOIN は、対象となるテーブルの全ての組み合わせのデータを取得します。
なお、SELECT * FROM TABLE1, TABLE2のように、FROM句にテーブルを並べた場合も
CROSS JOINと同様の動きをします。
文法:SELECT <テーブル名1>.<列名1>, <テーブル名2>.<列名2>…
FROM <テーブル名1>
CROSS JOIN <テーブル名2>
WHERE <抽出条件>
|
***例***
[社員マスタ]
所属コード |
社員コード |
氏名 |
01 |
001 |
テスト一郎 |
01 |
002 |
テスト二郎 |
02 |
001 |
テスト三郎 |
|
[所属マスタ]
|
[実行SQL]
※下記では列名、テーブル名に別名を付けています。別名については「別名を付ける」を参照してください。
SELECT
shain.所属コード AS 所属コード1,
shain.社員コード,
shain.氏名,
shozoku.所属コード AS 所属コード2,
shozoku.所属名
FROM
社員マスタ shain
CROSS JOIN 所属マスタ shozoku
|
[結果]
所属コード1 |
社員コード |
氏名 |
所属コード2 |
所属名 |
01 |
001 |
テスト一郎 |
01 |
営業部 |
01 |
001 |
テスト一郎 |
02 |
企画部 |
01 |
002 |
テスト二郎 |
01 |
営業部 |
01 |
002 |
テスト二郎 |
02 |
企画部 |
02 |
001 |
テスト三郎 |
01 |
営業部 |
02 |
001 |
テスト三郎 |
02 |
企画部 |
|
<<PR>>
価格:300円
価格:300円
|