Penjelasan Tentang Join (Natural, Outer dan Inner) MySQL
Penulisan query menggunakan SELECT bertujuan untuk menampilkan data yang
berelasi menggunakan klausa WHERE memerlukan banyak tenaga. Query yang
dituliskan sangat panjang, sehingga kemungkinan sering terjadi kesalahan dan
typo dalam penulisan query.
Apa itu join?
Join adalah perintah yang digunakan untuk menggabungkan atau menghubungkan
beberapa data tabel melalui kolom tertentu menjadi satu tampilan tabel.
Join sangat diperlukan dalam sebuah perancangan tabel yang bertujuan untuk
menormalisasi data agar terhindar dari terjadinya duplikasi atau penyimpanan
data yang sama pada tabel tertentu.
1. Natural Join
Natural join adalah perintah untuk membuat penulisan lebih mudah, natural
join merupakan proses yang memiliki kesamaan dalam semua nilai yang memiliki
nama yang sama diantara tabel.
Penerepan natural join harus mempunyai minimal satu nama kolom yang sama
dan tipe data yang sama, jika tidak akan terjadi error.
Contoh penerapan natural join:
Pada gambar tersebut natural join digunakan untuk menggabungkan empat tabel
yang saling berelasi yaitu tabel karyawan, tabel gaji, tabel jeniskelamin dan
tabel agama. Jadi ke empat tabel tersebut digabungkan menjadi satu tebel
dengan menggunakan perintah natural join.
Di mana natural join bisa dijalankan? Tabel karyawan saling berelasi pada
tebel gaji, tabel jeniskelamin dan tabel agama atau di tabel karyawan memiliki
baris yang sama pada tabel yang lainnya.
2. Outer Join
Outer join merupakan perintah menggabungkan tabel yang mana data pada salah
satu tabel akan ditampilkan semua, sehingga jika tabel yang lain tidak ada
nilai akan tetap ditampilkan dengan nilai NULL (kosong) disatu sisi.
Outer join terdapat dua cara, yaitu dengan Left Join dan
Right Join.
a. Left Join
Semua data pada tabel sebelah kiri akan ditampilkan, sedangkan data pada tabel
disebelah kanan akan ditampilkan jika tabel tersebut saling berelasi.
Penerapan left join sebagai berikut, yang mana akan menggabungkan dua tabel,
yaitu tabel absen dan tabel karyawan, tujuanya adalah akan menampilkan
karyawan yang tidak hadir.
b. Right Join
Right join serupa dengan Left Join, hanya saja posisi tabel yang kanan data
akan ditampilkan semua, sedangkan data tabel sebelah kiri hanya data yang
bersesuian saja.
3. Inner Join
Inner join adalah perintah yang hanya menampilkan semua baris yang memiliki
pasangan saja. Sehingga baris yang tidak memiliki pasangan tidak akan
ditampilkan.
Selain itu inner join merupakan versi aman dari left join maupun right join,
sehingga baris yang kosong tidak akan ditampilkan. Inner join tidak
mementingkan posisi tabel pada query dan fungsinya sama dengan klausa where.
Contoh Penerapan inner join yang mana diperlukan tampilan dari tabel
karyawan akan menampilkan nama dan jabatan dengan tabel absen.
Pada gambar tersebut semua data tabel di baris yang memiliki pasangan akan
ditampilkan, sehingga baris yang tidak memiliki pasangan tidak akan
ditampilkan.