SQL JOIN
関連する列をもとに複数のテーブルの行を結合するSQL演算子。INNER JOIN(一致した行のみ)、LEFT/RIGHT OUTER JOIN(片側を一致の有無にかかわらず残す)、FULL OUTER JOIN(両側を残す)、CROSS JOIN(直積)がある。
実際のアルゴリズムはプランナーが選び、ネステッドループ、ハッシュ結合、マージ結合のいずれかになる。自己結合ではテーブルを自分自身と結合する(同じusersテーブルで従業員と上司を引くなど)。列名が同じなら USING 句で ON x.id = y.id を省略できる。結合キーにインデックスがないと全件スキャンとソートになり、悲惨な結果を招く。NATURAL JOIN も存在するが、列が自動選択されて微妙なバグを生むため推奨されない。行ごとのサブクエリには LATERAL JOIN を使う。複雑なJOINのパターンはウィンドウ関数で置き換えられることも多い。