[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
2022-03-18 07:16:23
質問
また、どのように
LEFT JOIN
,
RIGHT JOIN
と
FULL JOIN
が合うのか?
解決方法は?
重複のないカラムで結合していると仮定すると、これは非常に一般的なケースです。
例
2つのテーブルがあり、それぞれ1列で、データは以下の通りだとします。
A B
- -
1 3
2 4
3 5
4 6
なお、(1,2)はAに固有、(3,4)は共通、(5,6)はBに固有であることに注意してください。
内部結合
同等のクエリを使用した内部結合は、2つのテーブルの交差点、つまり、2つのテーブルに共通する2つの行を提供します。
select * from a INNER JOIN b on a.a = b.b;
select a.*, b.* from a,b where a.a = b.b;
a | b
--+--
3 | 3
4 | 4
左外部結合
左外部結合では、Aのすべての行とBの共通行が得られます。
select * from a LEFT OUTER JOIN b on a.a = b.b;
select a.*, b.* from a,b where a.a = b.b(+);
a | b
--+-----
1 | null
2 | null
3 | 3
4 | 4
右外部結合
右外部結合では、Bの全行とAの共通行が得られます。
select * from a RIGHT OUTER JOIN b on a.a = b.b;
select a.*, b.* from a,b where a.a(+) = b.b;
a | b
-----+----
3 | 3
4 | 4
null | 5
null | 6
完全外部結合
完全外部結合では、AとBの和、つまりAの全行とBの全行が得られます。AのデータにBのデータがない場合、Bの部分はnullとなり、その逆も同様です。
select * from a FULL OUTER JOIN b on a.a = b.b;
a | b
-----+-----
1 | null
2 | null
3 | 3
4 | 4
null | 6
null | 5
関連
-
[解決済み】2つの列を分割する方法は?
-
[解決済み】データベースへの「ネイティブ」SQL接続を使用するとはどういう意味ですか?
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] JOINとINNER JOINの違いについて
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] MySQLでFULL OUTER JOINを行うにはどうすればよいですか?
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】''付近の構文が正しくない
-
[解決済み】集約関数のないTSQLピボット
-
[解決済み] ''付近の構文が正しくない
-
[解決済み] ORA-01790: 式は、対応する式と同じデータ型でなければならないエラーが発生するケース
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] エラー (ORA-00923: 期待された場所に FROM キーワードが見つかりませんでした)
-
[解決済み] SELECT DISTINCTを指定した場合、ORDER BY項目は必ず選択リストに表示されます。
-
[解決済み] リンクされたサーバーの NULL に対して OLE DB プロバイダー Microsoft.Jet.OLEDB.4.0 のインスタンスを作成できません。
-
[解決済み] INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOINの違いは何ですか?[重複しています]。
-
[解決済み】SQL Serverにおける左結合と右結合の違い【重複あり