Perbedaan INNER JOIN, LEFT JOIN, RIGHT JOIN, dan FULL JOIN Pada MySQL

Pagi yang cerah untuk menulis tutorial kali ini. Share kali ini tentang pengetahuan mengenai database mysql atau MariaDB. Pada tutorial ini akan dibahas perbedaan perintah MySQL LEFT JOIN, RIGHT JOIN, INNER JOIN dan FULL JOIN. Untuk fungsinya pasti kalian sudah paham kalau belum pasti tidur waktu dikelas. Perintah JOIN dalam SQL digunakan untuk menampilkan data pada table yang saling berelasi atau tanpa berelasi tapi berhubungan . Artinya kita dapat menampilkan data dalam beberapa table dengan melihat ada kesamaan antar tabel walau ada entitas yang berbeda namun isinya dapat kita hubungkan. Penjelasan lebih detail bisa ditanyakan dikelas matakuliah masing-masing ya. Suapaya tidak kelamaan pusingnya, sekarang saya akan mempraktekan semuanya.
Pertama saya akan membuat database di terminal (kalau menggunakan Linux atau Mac, kalau Windows namanya CMD). 
*catatan perintah yang dilakukan khusus linux dengan LAMPP (XAMPP), untuk os lainnya silahkan menyesuaikan.
Saya akan membuat database dengan nama belajarjoin ingat tanpa spasi dan huruf kecil semua:
Perintahnya sudah pernah lihatkan? , baca-baca ulang dan ingat-ingat waktu dikelas ya.
Selanjutnya saya akan membuat dua tabel, yang digunakan untuk praktek join. tabel yang dibuat yaitu tabel kelas dan tabel ruang
Perintahnya dasar seperti ini pasti sudah hafal, kalau belum ya kebangetan, selalu saya ingatkan lagi baca-baca ulang dan ingat-ingat waktu dikelas ya.
sengaja saya buat 2 tabel dan sedikit entitas, supaya pemahaman kalian lebih mudah, jika ingin lebih banyak tabel dan entitas ya harus bisa dulu dari yang kecil. sedikit demi sedikit lama-lama jadi bukit kan?
Selanjutnya kita isi data pada kedua tabel, jangan banyak-banyak ya cukup 5 data pada tabel kelas dan 6 pada tabel ruang. isiannya disamakan dengan gambar diatas ya. selanjutnya cek isi pada kedua tabel:

Selanjutnya kita belajar Join yang pertama yaitu inner join.


Silahkan diperhatikan query pada gambar diatas. Jadi apa itu inner join?

INNER JOIN yaitu sebuah perintah yang digunakan untuk menampilkan sebuah data atau record dengan menghubungkan dua table atau lebih dalam satu perintah, pada perintah inner join data yang akan ditampilkan hanyalah data yang memiliki pasangan saja, maksudnya yaitu data pada table tidak memiliki sebuah kesamaan maka data tidak akan ditampilkan.

panjang ya deskripsinya, simpelnya itu

menampilkan data-data yang mempunyai nilai sama antara id_kelas pada table kelas dan id_kelas pada table ruang. Yang artinya data tersebut dapat dipasangkan.

Selanjutnya kita belajar Left Join. 
 
Silahkan diperhatikan query pada gambar diatas. Jadi apa itu left join?

LEFT JOIN, fungsi dari left join hampir sama dengan inner join dan right join, namun pada LEFT JOIN kebalikan dari RIGHT JOIN, jika pada right join akan membuat sebuah parameter di sebelah kanan namun pada left join akan membuat sebuah parameter dari table sebelah kiri, dan jika ada data atau record yang kosong atau tidak berelasi maka akan berisi NULL di sebelah kanan.

panjang ya deskripsinya, simpelnya itu

LEFT JOIN akan menampilkan data-data yang tidak berelasi. Namun pada table kelas (table kanan), data yg tidak berelasi akan bernilai NULL.

Selanjutnya kita belajar Right Join. 

Silahkan diperhatikan query pada gambar diatas. Jadi apa itu left join?

RIGHT JOIN, fungsi dari right join hampir sama dengan inner join namun pada right join akan membuat sebuah parameter pada sebelah kanan jika data pada table terdapat data atau record yang kosong atau tidak berelasi maka akan berisi NULL.

panjang ya deskripsinya, simpelnya itu

RIGHT JOIN akan menampilkan data-data yang tidak berelasi. Namun kebalikan dari LEFT JOIN, pada table ruang (table kanan), data yg tidak berelasi akan bernilai NULL.


Selanjutnya kita belajar Full Join. 
Perintah FULL JOIN tidak dapat digunakan pada database MySQL. Ketika diketikkan query akan muncul seperti gambar diatas. solusinya kita menggunakan tambahan perintah union.
Silahkan diperhatikan query pada gambar diatas. Jadi apa itu Full join?

FULL JOIN, fungsi dari full join hampir sama dengan inner join, right join, dan left join, namun pada FULL JOIN gabungan dari RIGHT JOIN dan FULL JOIN, jika pada right join akan membuat sebuah parameter di sebelah kanan dan  pada left join akan membuat sebuah parameter dari table sebelah kiri, maka full join membuat sebuah parameter pada kanan dan kiri. Jika ada data atau record yang kosong atau tidak berelasi maka akan berisi NULL di sebelah kanan dan disebelah kiri.

panjang ya deskripsinya, simpelnya itu

FULL JOIN akan menampilkan data-data yang tidak berelasi. Namun pada table kelas (table kanan) dan tabel ruang (tabel kiri) data yg tidak berelasi akan bernilai NULL.

bagaimana tambah pusing atau tambah bersemangat membuat query?
sebenarnya penggunaan semua join tidak terlalu dipersoalkan apakah ingin menggunakan INNER JOIN, LEFT JOIN, RIGHT JOIN dan FULL JOIN. Intinya gunakan sesuai kebutuhan dan jangan lupa untuk sering mencoba dan terus menemukan hal-hal baru dalam membangun sebuah sistem informasi. 


Terimakasih, Semoga bermanfaat.  

5 comments for "Perbedaan INNER JOIN, LEFT JOIN, RIGHT JOIN, dan FULL JOIN Pada MySQL"

  1. keutamaan left join dari pda join yang lain?

    ReplyDelete
  2. wah makasih kak, mantep banget materinya, lumayan nih kebetulan lagi nyari bahan buat materi tambahan kuliah, thanks banget ya kak..

    oh ya salam kenal, nama saya Abdurrahman Fadhillah, saya kuliah di kampus ISB Atmaluhur Kota Pangkalpinang, Babel,
    ini alamat kampus kami, https://www.atmaluhur.ac.id/

    jangan lupa mampir juga ke blog ku ya kak, di ikhwanpolsri.blogspot.com

    ReplyDelete
  3. terimakasihh kakk artikellnyaa.. ini sangatt bermnfaat sekaliii.. sayaa jugaa kbtuulann lagii blajarr tentng materii inii.. saya teresavelma mahasiswa ISB AtmaLuhur kota pangkal pinang. jangan lupa juga kunjungi web kampus kami, yeah 🖐

    ReplyDelete
  4. semenjak saya membaca artikel ini saya memhami apa itu left join, terimaksih salam kenal sy septian jgn lupa mampir di website kampus kami https://www.atmaluhur.ac.id/

    ReplyDelete

Post a Comment