Fungsi JOIN pada SQL: Pengertian dan Jenis-jenis

Syaukha Ahmad Risyad

•

17 June 2023

•

17280

Image Banner

Sobat MinDi, kalau kamu tertarik buat menempuh karir di data science, kamu pasti lagi belajar dan berlatih menggunakan SQL. Nah, tentunya Sobat MinDi juga tidak boleh lupa dengan fungsi JOIN satu ini!

Dalam mempelajari data science, seringkali Sobat MinDi bakal disuguhkan dengan banyak data dan tabel yang berbeda-beda dari suatu database. Tidak jarang Sobat MinDi juga harus bisa menggabungkan tabel-tabel tersebut untuk mencari suatu insight yang berguna. Maka dari itu, penting buat Sobat MinDi memahami dan menguasai fungsi JOIN pada SQL.

Dalam artikel ini, MinDi mau nunjukin ke kamu fungsi-fungsi JOIN apa saja yang bisa kamu gunakan di SQL, beserta kegunaannya. Yuk kita dalami SQL bareng-bareng!


Apa itu Fungsi JOIN di SQL?

Pada SQL, fungsi JOIN digunakan untuk menggabungkan data dari dua tabel atau lebih berdasarkan hubungan kolom antara tabel-tabel tersebut.

Dalam database SQL, data biasanya disimpan dalam tabel-tabel terpisah berdasarkan spesifikasi dari masing-masing tabel. Nah, tabel-tabel tersebut mempunyai beberapa kesamaan kolom, seperti yang ditampilkan pada contoh tabel di bawah ini. Dengan memilih kolom yang sesuai serta kondisi tertentu, fungsi JOIN dapat menggabungkan tabel-tabel tersebut ke dalam hasil tunggal.

Misalkan kita punya tabel “Penjualan” seperti berikut.

Nomor_PesananProduk_IDKonsumen_ID
RX7800
311
2
RX7801
314
5
RX7802
320
6

Kita juga, misalkan, punya tabel “ Produk” seperti berikut.


Produk_ID
Nama_Produk
Harga_Produk
311
CPU
5999999
312
Monitor
 1999999
313
SSD
 799999

Kita bisa melihat bahwa kedua tabel memiliki kolom yang sama, yaitu kolom “Produk_ID”. Maka, dengan menggunakan fungsi JOIN, kita bisa menggabungkan kedua tabel berdasarkan kondisi atas kolom “Produk_ID”.

Fungsi JOIN memiliki beberapa jenis yang berbeda sesuai kegunaannya masing-masing. Kita bakal membahas jenis-jenis JOIN selanjutnya.


INNER JOIN




INNER JOIN adalah fungsi JOIN di SQL yang menggabungkan data dari dua tabel atau lebih, namun hanya menampilkan nilai yang sama saja. Sedangkan untuk baris-baris lain yang nilainya tidak sama, maka tidak akan ditampilkan.

Misalkan kita menggunakan dua tabel sebelumnya untuk query berikut.

SELECT Penjualan.Nomor_Pesanan, Produk.Nama_Produk
FROM Penjualan
INNER JOIN Produk ON Penjualan.Produk_ID = Produk.Produk_ID;

Artinya, kita menggabungkan tabel “Penjualan” dengan “Produk”, namun hanya menampilkan data jika kolom “Produk_ID” di kedua tabel nilainya sama.

Keluaran dari query di atas adalah seperti berikut.

Nomor_Pesanan

Nama_Produk

RX7800

CPU

Tabel hanya menampilkan satu baris karena berdasarkan tabel yang kita punya, kolom “Produk_ID” hanya sama untuk nilai 311


LEFT JOIN




Pada fungsi LEFT JOIN, kamu juga bakal menggabungkan data dari dua tabel atau lebih, namun data dari tabel pertama (atau tabel kiri) akan ditampilkan seluruhnya meskipun nilai pada tabel kedua tidak cocok.

Jika tidak ada data yang cocok pada tabel kedua, maka akan ditampilkan sebagai NULL.

Misalkan kita menggunakan kedua tabel di atas lagi untuk query berikut.

SELECT Penjualan.Nomor_Pesanan, Produk.Nama_Produk
FROM Penjualan
LEFT JOIN Produk ON Penjualan.Produk_ID = Produk.Produk_ID;

Maka keluaran dari query di atas adalah seperti berikut.

Nomor_Pesanan

Nama_Produk

RX7800

CPU

RX7801

NULL

RX7802

NULL

Karena pada tabel “Produk” tidak ada nilai 314 dan 320 di kolom “Produk_ID”, maka keluaran dari hasil query menunjukkan NULL di kolom “Nama_Produk”.

RIGHT JOIN





Berkebalikan dengan fungsi LEFT JOIN, fungsi RIGHT JOIN akan menggabungkan data dari dua tabel atau lebih, dengan data pada tabel kedua (tabel kanan) ditampilkan semua.

Seperti pada fungsi LEFT JOIN, Jika tidak ada data yang cocok pada tabel pertama, maka akan ditampilkan sebagai NULL.

Lagi, kita menggunakan dua tabel sebelumnya untuk query berikut.

SELECT Penjualan.Nomor_Pesanan, Produk.Nama_Produk
FROM Penjualan
RIGHT JOIN Produk ON Penjualan.Produk_ID = Produk.Produk_ID;

Keluaran dari query di atas adalah seperti berikut.

Nomor_Pesanan

Nama_Produk

RX7800

CPU

NULL

Monitor

NULL

SSD

Karena pada tabel “Penjualan” tidak ada 312 dan 313 di kolom “Produk_ID”, maka nilai pada “Nomor_Pesanan” dianggap sebagai NULL.

FULL JOIN





FULL JOIN, atau dikenal juga sebagai FULL OUTER JOIN, adalah jenis JOIN yang menggabungkan semua data dari dua tabel berdasarkan kondisi yang ditetapkan, meskipun jika ada ketidakcocokan antara kedua tabel.

Seolah-olah menggabungkan LEFT JOIN dan RIGHT JOIN, data yang tidak memiliki kecocokan akan diisi dengan NULL.

SELECT Penjualan.Nomor_Pesanan, Produk.Nama_Produk
FROM Penjualan
FULL JOIN Produk ON Penjualan.Produk_ID = Produk.Produk_ID;

Keluaran dari query di atas adalah seperti berikut.

Nomor_Pesanan

Nama_Produk

RX7800

CPU

NULL

Monitor

NULL

SSD

RX7801

NULL

RX7802

NULL



Bisa kita lihat bahwa pada tabel “Penjualan” tidak ada 312 dan 313 pada kolom “Produk_ID”, dan pada tabel “Produk” tidak ada 314 dan 320. Sehingga pada hasil query FULL JOIN, data yang kosong dianggap sebagai NULL.


Itu tadi penjelasan tentang fungsi JOIN yang dapat kamu manfaatkan di SQL untuk keperluan analisis data kamu!

Ada banyak lagi fungsi-fungsi SQL yang bisa kamu pelajari. Kalau Sobat MinDi tertarik untuk mengejar karir di bidang data science, tentunya pemahaman SQL menjadi kebutuhan kamu.

Sobat MinDi bisa belajar lebih dalam lagi, lho, tentang SQL dengan bergabung di Bootcamp Data Science yang diadakan oleh Dibimbing.id!

Kamu bakal dilatih hingga mahir menguasai fungsi-fungsi yang ada di SQL. Kamu juga bakal belajar tools lain buat karir kamu, seperti Python dan Tableau!

Yuk, kejar karir data science kamu bersama Dibimbing.id!

Share

Author Image

Syaukha Ahmad Risyad

Menulis artikel demi bisa membeli model kit.