Gabung Dalam vs Gabung Luar


Dalam SQL, a Ikuti digunakan untuk membandingkan dan menggabungkan - secara harfiah bergabung - dan mengembalikan baris data tertentu dari dua atau lebih tabel dalam database. Sebuah bergabung batin menemukan dan mengembalikan data yang cocok dari tabel, sementara a gabung luar menemukan dan mengembalikan data yang cocok dan beberapa data berbeda dari tabel.

laporkan iklan ini

Bergabunglah dengan Batin

Gabungan dalam berfokus pada kesamaan antara dua tabel. Saat menggunakan gabungan dalam, setidaknya harus ada beberapa data yang cocok antara dua (atau lebih) tabel yang sedang dibandingkan. Gabungan dalam mencari tabel untuk data yang cocok atau tumpang tindih. Setelah menemukannya, gabungan dalam menggabungkan dan mengembalikan informasi ke dalam satu tabel baru.

Contoh Bergabunglah Dalam

Mari kita perhatikan skenario umum dua tabel: harga dan kuantitas produk. Informasi umum dalam dua tabel adalah nama produk, jadi itulah kolom logis untuk bergabung dengan tabel di. Ada beberapa produk yang umum di dua tabel; yang lain unik untuk salah satu tabel dan tidak memiliki kecocokan di tabel lainnya.

Batin bergabung Produk mengembalikan informasi tentang hanya produk-produk yang umum di kedua tabel.

Outer Join

Gabung luar mengembalikan set rekaman (atau baris) yang menyertakan apa yang akan digabung kembali dengan dalam tetapi juga mencakup baris lain yang tidak ditemukan kecocokan yang sesuai di tabel lainnya.

Ada tiga jenis sambungan luar:

  • Left Outer Join (atau Left Join)
  • Gabung Luar Kanan (atau Gabung Kanan)
  • Full Outer Join (atau Full Join)

Setiap gabungan luar ini mengacu pada bagian data yang sedang dibandingkan, digabungkan, dan dikembalikan. Terkadang nulls akan dihasilkan dalam proses ini karena beberapa data dibagikan sementara data lainnya tidak.

Kiri Luar Gabung

Gabungan luar kiri akan mengembalikan semua data dalam Tabel 1 dan semua data bersama (jadi, bagian dalam contoh diagram Venn), tetapi hanya data terkait dari Tabel 2, yang merupakan gabungan kanan.

Kiri Gabung Contoh

Dalam contoh database kami, ada dua produk - jeruk dan tomat - di 'kiri' (Harga tabel) yang tidak memiliki entri yang sesuai pada 'kanan' (tabel Kuantitas). Dalam gabungan kiri, baris ini termasuk dalam hasil yang ditetapkan dengan NULL di kolom Kuantitas. Baris lain dalam hasilnya sama dengan gabungan bagian dalam.

Gabung Luar Kanan

Gabung luar kanan mengembalikan data Tabel 2 dan semua data bersama, tetapi hanya data yang sesuai dari Tabel 1, yang merupakan gabung kiri.

Contoh Gabung Kanan

Mirip dengan contoh join kiri, output dari join luar kanan mencakup semua baris join dalam dan dua baris - brokoli dan squash - dari 'kanan' (Jumlah tabel) yang tidak memiliki entri yang cocok di sebelah kiri.

Gabung Luar Penuh

Gabung luar penuh, atau gabung penuh, yaitu tidak didukung oleh sistem manajemen database MySQL populer, menggabungkan dan mengembalikan semua data dari dua tabel atau lebih, terlepas dari apakah ada informasi bersama. Pikirkan bergabung penuh sebagai hanya menduplikasi semua informasi yang ditentukan, tetapi dalam satu tabel, bukan beberapa tabel. Di mana data yang cocok tidak ada, null akan dihasilkan.

Ini hanya dasar-dasarnya, tetapi banyak hal dapat dilakukan dengan bergabung. Bahkan ada gabungan yang dapat mengecualikan bergabung lainnya!

Video Menjelaskan Inner vs Outer Joins

Video ini menjelaskan perbedaan antara berbagai jenis gabungan. Itu dimulai untuk memulai pada titik di mana diskusi tentang bergabung dimulai.

Referensi

  • Perbedaan antara inner dan outer join - Stack Overflow
  • SQL Inner Bergabung - Quackit
  • SQL Outer Bergabung - Quackit
  • Menggunakan Inner Joins - Microsoft SQL Server
  • Menggunakan Outer Joins - Microsoft SQL Server
  • Representasi Visual dari Bergabung SQL - Proyek Kode
  • Wikipedia: Gabung (SQL)