Perbedaan utama: Bergabung dalam SQL dilakukan untuk menggabungkan data dari dua tabel yang berbeda. Batin Gabung adalah suatu kondisi yang menghasilkan baris yang memenuhi klausa 'di mana' di "semua tabel"; sedangkan Outer Join adalah suatu kondisi yang menghasilkan baris-baris yang memenuhi klausa 'di mana' di “setidaknya satu dari tabel”.
Pada penerapan gabungan, tabel sementara dibuat, ini didasarkan pada kolom. Harus selalu ada dua tabel, untuk kondisi bergabung. Kondisi ini, kemudian menggabungkan masing-masing komponen dari satu tabel dengan komponen lainnya, dan memunculkan tabel yang sama sekali baru. Tujuan dari tabel ini adalah untuk mengekstrak data atau informasi yang bermakna dan diperlukan. Tergantung pada kondisinya, ada dua jenis gabungan, gabungan dalam dan luar.
SQL INNER JOIN Sintaks:
SELECT nama_kolom
DARI tabel1
INNER JOIN table2
ON table1.column_name = table2.column_name;
Kata kunci INNER JOIN memilih semua baris dari kedua tabel selama ada kecocokan antara kolom di kedua tabel.
Gabungan dalam tergantung pada pemilihan desain dan karakteristik basis data. Dengan demikian, gabungan batin ini digunakan dalam Equi-Joins dan Natural Joins. Dalam Equi Join, ada jenis perbandingan tertentu yang digunakan untuk menyamakan dua tabel yang diberikan. Oleh karena itu, tabel ini menggunakan predikat sama. Gabung alami adalah jenis gabung Equi.
Sintaks untuk Equi Join adalah sebagai berikut:
S PILIH *
DARI tabel1, tabel 2
WHERE table1.coloumn_name = table2.coloumn_name;
Jika kolom dalam equi-join memiliki nama yang sama, maka versi SQL masing-masing memberikan notasi singkatan opsional yang dapat diekspresikan oleh konstruk USING sebagai:
PILIH *
DARI tabel1 INNER JOIN table2 MENGGUNAKAN (nama_kolom);
Sintaks untuk Natural Join adalah sebagai berikut:
PILIH *
DARI tabel1 GABUNG ALAMI table2;
"Gabung luar" tidak membutuhkan kondisi yang cocok untuk catatan. Kondisi gabungan ini menyimpan semua catatan lainnya, selain catatan yang tidak cocok. Gabung ini selanjutnya didistribusikan dalam kondisi gabung luar kiri, kanan dan penuh, yang diimplementasikan sesuai dengan kondisi dan atribut tabel yang diinginkan.
Kiri Luar Gabung
Kata kunci LEFT JOIN mengembalikan semua baris dari tabel kiri (table1), dengan baris yang cocok di tabel kanan (table2). Ini menghasilkan "NULL" di sisi kanan ketika tidak ada kecocokan.
Sintaks untuk Left Outer Join mengikuti:
SELECT nama_kolom
DARI tabel1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name;
Kanan Luar Gabung
Kata kunci KANAN BERGABUNG mengembalikan semua baris dari tabel kanan (table2), dengan baris yang cocok di tabel kiri (table1). Hasilnya NULL di sisi kiri ketika tidak ada kecocokan.
Sintaks untuk Right Outer Join mengikuti:
SELECT nama_kolom
DARI tabel1
RIGHT OUTER JOIN table2
ON table1.column_name = table2.column_name;
Gabung Luar Penuh
Kata kunci FULL OUTER JOIN mengembalikan semua baris dari tabel kiri (table1) dan tabel kanan (table2). Kata kunci FULL OUTER JOIN menggabungkan hasil gabungan LEFT dan RIGHT.
Sintaks untuk Full Outer Join adalah:
SELECT nama_kolom
DARI tabel1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
Perbandingan antara Inner Join dan Outer Join:
Bergabunglah dengan Batin | Outer Join | |
Fungsi dasar | Gabungan dalam pada dasarnya digunakan untuk menemukan baris yang cocok antara 2 tabel. | Gabung luar mempertahankan baris dari salah satu tabel, atau kedua tabel. |
Keberadaan variabel umum | Di sini variabel umum harus secara wajib berada di kedua tabel. | Di sini variabel tergantung hanya pada tabel pertama yang mungkin ada atau tidak ada dalam tabel kedua. |
Kembali | Bergabung dalam hanya akan mengembalikan baris di mana ada kecocokan berdasarkan predikat bergabung. | Gabung luar akan mengembalikan semua baris, apakah itu berbasis pertandingan atau tidak, berdasarkan predikat gabungan. |
Biasanya | Ini digunakan untuk melihat catatan hanya ketika catatan hadir di kedua tabel. | Ini digunakan untuk melihat semua catatan hanya dalam satu tabel. |
Berlaku di | Mereka berlaku di: Equi-Join dan Gabung Alami | Mereka berlaku sebagai: Kiri Luar Gabung Kanan Luar Gabung Gabung Luar Penuh |