Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Perbedaan antara Inner join dan Outer join di SQL

Gabung dalam dan Gabung luar adalah dua cara yang berguna untuk menggabungkan tabel database dan data kueri dari beberapa tabel. Pada artikel ini, kita akan melihat perbedaan antara inner join dan outer join di SQL.


Gabung Dalam

Inner join mengembalikan baris dari dua atau lebih tabel di mana setidaknya satu kolom memiliki nilai yang sama di semua tabel. Jika tidak ada nilai umum, maka tidak ada baris yang dikembalikan.

Berikut sintaks dari inner join:

select *  from table1 INNER JOIN table2 
on table1.column_name = table2.column_name;

OR

select * from table1 JOIN table2 
on table1.column_name = table2.column_name;


Gabung Luar

Gabung luar mengembalikan baris dari dua atau lebih tabel di mana setidaknya satu kolom memiliki nilai yang sama, serta baris di mana kondisi bergabung gagal. Ada 3 jenis gabungan luar:


Gabung Luar Kiri

Dalam hal ini, semua baris tabel kiri dipertahankan dalam hasil, jika kondisi gabungannya cocok dengan tabel lain, nilai kolomnya dikembalikan, jika tidak, nilai nol dikembalikan untuk kolom tersebut. Berikut adalah sintaks dari left outer join.

select * from table1 
LEFT OUTER JOIN table2 
on table1.column_name = table2.column_name;


Gabung Luar Kanan

Dalam hal ini, semua baris tabel kanan dipertahankan dalam hasil, jika kondisi gabungannya cocok dengan tabel lain, nilai kolomnya dikembalikan, jika tidak, nilai nol dikembalikan untuk kolom tersebut.

Berikut adalah sintaks dari gabungan luar kanan

select * from table1 
RIGHT OUTER JOIN table2 
on table1.column_name = table2.column_name;


Gabung Luar Penuh

Dalam hal ini, semua baris dari kedua tabel dikembalikan. Jika kondisi join terpenuhi, kolom akan diisi menggunakan nilai dari kedua tabel. Jika kondisi join gagal, maka nilai salah satu tabel akan diisikan ke dalam kolom dan sisanya diisi sebagai null.


Perbedaan antara Inner join dan Outer join di SQL

Berikut adalah perbedaan utama antara gabungan dalam vs gabungan luar.

Gabung Dalam

  • Ini hanya mengembalikan baris dengan nilai kolom yang sama.
  • Anda dapat menggunakan klausa INNER JOIN atau JOIN. Keduanya memiliki efek yang sama
  • Ini mengembalikan null ketika tidak ada nilai kolom yang cocok antara dua (atau lebih) tabel
  • Inner Join lebih cepat daripada Outer Join
  • Berguna untuk melakukan pencarian di beberapa tabel
  • Dalam istilah matematika, ini mengembalikan persimpangan dua set (tabel)


Gabung Luar

  • Ini mengembalikan nilai dari satu atau lebih tabel meskipun tidak ada nilai kolom yang cocok
  • Untuk baris tanpa atribut yang cocok, ini mengembalikan null untuk kolom yang tersisa
  • Full Outer Join dan Full Join memiliki efek yang sama.
  • Lebih lambat dari gabungan dalam
  • Digunakan untuk mendapatkan informasi lengkap dalam dua tabel atau lebih
  • Gabungan luar penuh tidak didukung di MySQL. Ini tersedia di PostgreSQL, SQL Server, Oracle, dan database populer lainnya.


Butuh alat pelaporan untuk MySQL? Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari Ini!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klausa SQL HAVING untuk Pemula

  2. Fitur usang untuk dikeluarkan dari kotak peralatan Anda – Bagian 1

  3. Pelajari Dasar-dasar Pencatatan Java

  4. Notasi ERD dalam Pemodelan Data

  5. Tampilan SQL:Bagaimana cara bekerja dengan Tampilan dalam SQL?