×
結合

クロス結合 | Oracle Database SQL (1Z0-071-JPN)

クロス結合とは

クロス結合(CROSS JOIN)とは、結合条件(ON句やWHERE句)を指定せず、2つのテーブルのすべての行とすべての行を組み合わせて、考えられるあらゆる組み合わせの行を生成する結合方法です。数学における「直積(Cartesian Product: デカルト積)」に相当します。 Oracle Database SQL (1Z0-071) の試験対策においては、クロス結合の基本概念だけでなく、実務で使われる構文ルールや例外事項、エラーが発生する条件を正確に把握しておくことが非常に重要です。

具体例

「サイズ(S, M, L)」テーブルと「カラー(赤, 青, 白)」テーブルがある場合、クロス結合を行うと「3 × 3 = 9通り」の全商品の組み合わせバリエーションを一括生成できます。
SELECT 
    p.product_name,
    c.color_name
FROM products p
CROSS JOIN colors c;

もう少し詳しく