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.


Pada gambar tersebut tabel di sebelah kiri merupakan tabel absen yang datanya tampil semua, sedangkan tabel di sebelah kanan merupakan tabel karyawan yang mana pada tabel karyawan ada baris yang kosong dan akan tetap ditampilkan dengan nilai NULL (kosong).
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.
Next Post Previous Post
No Comment
Add Comment
comment url