JOIN
JOIN は、結合条件によって複数テーブルの行を組み合わせる SQL 操作である。内部結合、左/右/完全外部結合、交差結合などの型がある。
目的
結合条件によってテーブルに分散した関連データを組み合わせる。
メカニズム
INNER JOIN:一致する行のみ。LEFT JOIN:左表の全行+右表の一致(なければ NULL)。RIGHT JOIN:右表の全行。FULL JOIN:両表の全行。CROSS JOIN:直積。実装:ネステッドループ、マージ、ハッシュ結合。
ユースケース
- 複数テーブルのリレーショナルクエリ
- 主キー・外部キーのデータ取得
- レポート集計
- データウェアハウスのスター結合
例
- 入力
users JOIN orders ON users.id=orders.uidOutputUsers joined with their ordersInner join
よくあるエラー
- Unindexed JOIN columns cause full table scans
- Index the join columns
関連用語
Index
インデックス(Index)は、クエリを高速化するために維持される補助データ構造(B+ 木、ハッシュなど)である。書き込みオーバーヘッドと引き換えに、空間で時間を買う。 用語集
Primary Key
主キー(プライマリキー)とは、テーブル内の各行を一意に識別する列または列の組み合わせである。NULL不可かつ一意であり、行の識別子となる。 用語集
Foreign Key
外部キーは他のテーブルの主キーを参照する列であり、テーブル間の参照整合性を確立し、孤立した参照を防ぐ。 用語集
SQL
SQL(Structured Query Language)はリレーショナルデータベースの標準クエリ言語で、データを宣言的に定義・操作します(DDL/DML/DQL/DCL)。 用語集