Tutorial “join” di SQL

Tutorial mengenai JOIN dalam SQL untuk pemula:


Tutorial SQL JOIN untuk Pemula

Daftar Isi

  1. Pengantar Tentang SQL JOIN
  2. Jenis-Jenis JOIN
  3. Tabel Contoh dan Data
  4. Contoh Penggunaan JOIN
  5. Kesimpulan

1. Pengantar Tentang SQL JOIN

Dalam database relasional, seringkali kita memiliki data yang tersebar di berbagai tabel. Namun, dalam banyak situasi, kita perlu menggabungkan data dari lebih dari satu tabel untuk mendapatkan informasi yang lengkap. Inilah di mana JOIN berperan.


2. Jenis-Jenis JOIN

Ada beberapa jenis JOIN dalam SQL:

  • INNER JOIN: Menggabungkan baris dari dua tabel berdasarkan kolom yang terkait. Hanya mengembalikan baris yang cocok dari kedua tabel.
  • LEFT JOIN (atau LEFT OUTER JOIN): Mengembalikan semua baris dari tabel kiri, dan baris yang cocok dari tabel kanan. Jika tidak ada kecocokan, hasil di sisi kanan adalah NULL.
  • RIGHT JOIN (atau RIGHT OUTER JOIN): Mirip dengan LEFT JOIN, tetapi mengembalikan semua baris dari tabel kanan.
  • FULL JOIN (atau FULL OUTER JOIN): Mengembalikan baris saat ada kecocokan di salah satu tabel.
  • CROSS JOIN: Menggabungkan setiap baris dari tabel pertama dengan setiap baris dari tabel kedua.
  • SELF JOIN: Menggabungkan tabel dengan dirinya sendiri.

3. Tabel Contoh dan Data

Misalkan kita memiliki dua tabel: Siswa dan Pendaftaran.

Tabel Siswa

siswa_idnama_siswa
1Alice
2Bob
3Charlie
4David

Tabel Pendaftaran

pendaftaran_idsiswa_idmata_pelajaran
11Matematika
22IPA
33Sastra
45Sejarah

4. Contoh Penggunaan JOIN

Ayo lihat contoh penggunaan JOIN pada tabel di atas:

  • INNER JOIN
  SELECT Siswa.nama_siswa, Pendaftaran.mata_pelajaran
  FROM Siswa
  INNER JOIN Pendaftaran ON Siswa.siswa_id = Pendaftaran.siswa_id;

Hasil:

nama_siswamata_pelajaran
AliceMatematika
BobIPA
CharlieSastra
  • LEFT JOIN
  SELECT Siswa.nama_siswa, Pendaftaran.mata_pelajaran
  FROM Siswa
  LEFT JOIN Pendaftaran ON Siswa.siswa_id = Pendaftaran.siswa_id;

Hasil:

nama_siswamata_pelajaran
AliceMatematika
BobIPA
CharlieSastra
DavidNULL

  • RIGHT JOIN Mengembalikan semua baris dari tabel kanan, dan baris yang cocok dari tabel kiri. Jika tidak ada kecocokan di sisi kiri, hasilnya adalah NULL.
  SELECT Siswa.nama_siswa, Pendaftaran.mata_pelajaran
  FROM Siswa
  RIGHT JOIN Pendaftaran ON Siswa.siswa_id = Pendaftaran.siswa_id;

Hasil:

nama_siswamata_pelajaran
AliceMatematika
BobIPA
CharlieSastra
NULLSejarah

  • FULL JOIN Mengembalikan baris saat ada kecocokan di salah satu tabel. Jika tidak ada kecocokan di salah satu sisi, hasilnya adalah NULL.
  SELECT Siswa.nama_siswa, Pendaftaran.mata_pelajaran
  FROM Siswa
  FULL JOIN Pendaftaran ON Siswa.siswa_id = Pendaftaran.siswa_id;

Hasil:

nama_siswamata_pelajaran
AliceMatematika
BobIPA
CharlieSastra
DavidNULL
NULLSejarah

  • CROSS JOIN Menggabungkan setiap baris dari tabel pertama dengan setiap baris dari tabel kedua, menghasilkan produk kartesian dari tabel-tabel tersebut.
  SELECT Siswa.nama_siswa, Pendaftaran.mata_pelajaran
  FROM Siswa
  CROSS JOIN Pendaftaran;

Hasilnya akan menggabungkan setiap siswa dengan setiap mata pelajaran, jadi jika ada 4 siswa dan 4 mata pelajaran, maka akan ada 16 kombinasi yang dihasilkan.

Tentu! Mari kita coba dengan contoh SELF JOIN.

SELF JOIN sering digunakan pada tabel yang memiliki relasi dengan dirinya sendiri. Misalnya, kita punya tabel Karyawan di mana setiap karyawan memiliki seorang manajer, dan manajer tersebut juga merupakan karyawan dalam tabel yang sama.

Misalkan kita memiliki tabel Karyawan sebagai berikut:

Tabel Karyawan

karyawan_idnamamanajer_id
1AntonNULL
2Budi1
3Charlie1
4Dina2
5Elsa2

Dalam tabel di atas, Anton adalah manajer, dan dia sendiri tidak memiliki manajer (ditandai dengan NULL). Budi dan Charlie memiliki Anton sebagai manajer mereka, sedangkan Dina dan Elsa memiliki Budi sebagai manajer mereka.

Jika kita ingin mengetahui nama manajer untuk setiap karyawan, kita dapat menggunakan SELF JOIN:

SELECT 
    k1.nama AS nama_karyawan,
    k2.nama AS nama_manajer
FROM 
    Karyawan k1
LEFT JOIN 
    Karyawan k2 ON k1.manajer_id = k2.karyawan_id;

Hasil:

nama_karyawannama_manajer
AntonNULL
BudiAnton
CharlieAnton
DinaBudi
ElsaBudi

Dengan SELF JOIN, kita dapat dengan mudah mengaitkan data dalam tabel yang sama untuk mendapatkan informasi yang relevan antara dua entitas yang berbeda dalam tabel yang sama.


5. Kesimpulan

JOIN adalah salah satu konsep dasar namun sangat penting dalam SQL. Memahami cara kerja JOIN dan kapan harus menggunakan jenis JOIN tertentu sangat penting bagi siapa saja yang bekerja dengan database relasional. Terus praktekkan untuk menguasainya!


Semoga tutorial ini membantu Anda untuk memahami konsep JOIN dalam SQL dengan lebih baik. Selamat belajar!

More from author

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Related posts

Advertismentspot_img

Latest posts

BREED #180: Innovation in Real Places | Alan Perdana & Deni Yulian

https://www.youtube.com/watch?v=KqK4l0X1KMo

BREED #179: Practice – “Business Model Generation” | Jaha Nababan & Emil F. Yakhya

https://www.youtube.com/watch?v=y2zl9Yp7Dks

BREED #178: Insight – “Managing Crisis” | Buntoro & Rois Solihin

https://www.youtube.com/watch?v=Sc1lq-yUNEM