SQL JOIN種別一覧
SQLで使われるJOINの代表的な種別を、返す行と未一致行の扱いで整理した非公開検証用データ。
更新履歴(1回)
- 2026-06-18T09:29:23+09:00 / 10行 / 新規作成:SQL JOIN種別表
列表示ON/OFF
読み込み中...
| join_type | returns_ja | keeps_unmatched_left | keeps_unmatched_right | typical_use_ja | note |
|---|---|---|---|---|---|
| INNER JOIN | 条件に一致した左右の行だけを返す | no | no | 関連レコードが存在する行だけを見る | 単にJOINと書くとINNER JOINになる実装が多い |
| LEFT OUTER JOIN | 左表の全行と一致する右表の行を返す | yes | no | 左表を基準に欠損を含めて確認する | LEFT JOINと省略されることが多い |
| RIGHT OUTER JOIN | 右表の全行と一致する左表の行を返す | no | yes | 右表を基準に欠損を含めて確認する | RIGHT JOINと省略されることが多い |
| FULL OUTER JOIN | 左右どちらかに存在する行を返す | yes | yes | 双方の差分や欠損を確認する | 対応しない実装もある |
| CROSS JOIN | 左右の直積を返す | n/a | n/a | 全組み合わせを作る | 結合条件を持たない |
| SELF JOIN | 同じ表を別名で結合する | depends | depends | 階層や同一表内関係を見る | JOIN種別というより利用パターン |
| NATURAL JOIN | 同名列を自動的に結合条件にする | depends | depends | 同名キーが明確な表の簡易結合 | 列追加で意味が変わりやすい |
| SEMI JOIN | 左表のうち右表に一致がある行だけを返す | no | no | EXISTS条件の抽出 | SQL構文名としては実装依存 |
| ANTI JOIN | 左表のうち右表に一致がない行だけを返す | yes | no | 未登録・未対応データの検出 | NOT EXISTSで表現されることが多い |
| LATERAL JOIN | 左側の行を参照する右側サブクエリと結合する | depends | depends | 行ごとの派生表を結合する | 実装によりAPPLY等の構文もある |