Join Multiple Table SQL, INNER JOIN & LEFT JOIN
SQL (Structured Query Language) merupakan salah satu bahasa pemrograman yang wajib dikuasai oleh praktisi data. Pasalnya, pekerjaan seorang praktisi data tentu tidak akan jauh-jauh dari database. Nah untuk bisa mengakses segala sesuatu yang berhubungan dengan database kita membutuhkan bahasa SQL. Sehingga tidak heran, hampir semua lowongan pekerjaan yang dibuka untuk posisi praktisi data, pasti kualifikasi nya harus menguasai bahasa SQL.
Dalam SQL, kita akan sering bertemu dengan masalah yang jawabannya bisa didapatkan dari beberapa database. Kita bisa menggunakan teknik join table atau penggabungan table yang ada di database. Hingga saat ini, ada 4 jenis join table yang bisa digunakan, yaitu INNER JOIN, LEFT JOIN, RIGHT JOIN, dan OUTER/FULL JOIN. Jika selama ini kita hanya membahas mengenai cara menggabungkan dua tabel saja, maka tentu akan menjadi pertanyaan apakah kita bisa menggabungkan lebih dari dua tabel atau tidak? Jawabannya tentu saja bisa.
Dalam artikel ini, kita akan membahas cara join lebih dari dua tabel dengan menggunakan INNER JOIN, LEFT JOIN, dan kombinasi kedua join tersebut. Penasaran? Yuk, simak pembahasannya!
1. Mengapa Kita Membutuhkan SQL Join Table?
Pada umumnya, setiap table yang ada di database hanya akan berisi satu topik saja. Misalkan table employee, maka hanya akan berisi hal-hal yang berhubungan dengan employee, seperti nama, alamat, dll. Table customer, maka hanya akan berisi hal-hal yang berkaitan dengan customer, seperti id customer, nama, kapan pembelian pertamanya, berapa banyak pengeluaran yang dilakukan, dan masih banyak lagi.
Dalam pekerjaan seorang praktisi data, banyak hal yang tidak pernah dipikirkan akan terjadi. Misalkan kita butuh informasi mengenai siapa employee yang melayani customer dengan pembelian terbanyak pada product yang sedang promo untuk diberikan hadiah, maka kita harus menggabungkan data yang ada pada table customer, table product, dan juga table employee. Dengan memanfaatkan fitur SQL Join Table inilah, kita bisa mendapatkan data yang “rich” sehingga jawaban pertanyaan yang dibutuhkan bisa didapatkan dengan mudah.
Baca Juga: Bootcamp Data Analyst with Python & SQL
2. Join Multiple Tabel dengan Menggunakan INNER JOIN
Misalkan kita ingin menampilkan semua negara dan pelanggan yang terkait dengan negara-negara tersebut. Untuk setiap negara, kita harus menampilkan nama negara tersebut sesuai dengan ejaan Bahasa Inggris. Kita juga butuh untuk menampilkan nama kota tempat pelanggan berada serta nama pelanggan tersebut.
Untuk lebih jelasnya, berikut adalah data dari ketiga table tersebut:
Karena kita akan menggabungkan lebih dari dua table, maka untuk query nya juga harus menggunakan dua perintah join, dalam hal ini kita menggunakan query INNER JOIN. Berikut adalah query yang bisa digunakan:
SELECT country.country_name_eng, city.city_name, customer.customer_name
FROM country
INNER JOIN city ON city.country_id = country.id
INNER JOIN customer ON customer.city_id = city.id;
Maka hasilnya adalah:
Dari table yang ada di atas, kita bisa melihat bahwa table City dan juga Country memiliki data yang isinya lebih dari 4, namun di akhir hasilnya hanya ada 4 rows data. Hal ini disebabkan karena kita menggunakan INNER JOIN, dimana yang akan menjadi result nya hanyalah data yang sama antara semua table saja. Dengan kata lain, semua Country dan City yang tidak memiliki data customer akan dihilangkan.
3. Join Multiple Tabel dengan Menggunakan LEFT JOIN
Dengan menggunakan studi kasus yang sama dengan sebelumnya, kita akan coba membandingkan ketika kita join lebih dari dua table menggunakan LEFT JOIN. Berikut adalah query yang bisa digunakan:
SELECT country.country_name_eng, city.city_name, customer.customer_name
FROM country
LEFT JOIN city ON city.country_id = country.id
LEFT JOIN customer ON customer.city_id = city.id;
Dari query ini, kita bisa melihat bahwa penggabungan table akan dimulai dari country ke city, barulah hasil dari keduanya digabungkan ke table customer. Sehingga hasilnya adalah:
Dari sini kita bisa melihat bahwa table country ditampilkan semua datanya, sementara table lainnya hanya akan menyesuaikan table country.
Ketika tadi di INNER JOIN, kita tidak perlu memperhatikan urutan penulisan table karena yang ditampilkan hanya lah data yang sama, sehingga urutan table tidak akan berpengaruh. Sementara ketika kita menggunakan LEFT JOIN atau RIGHT JOIN, urutan penulisan table akan sangat berpengaruh pada hasilnya. Coba kita bandingkan dengan urutan query berikut:
SELECT country.country_name_eng, city.city_name, customer.customer_name
FROM customer
LEFT JOIN city ON customer.city_id = city.id
LEFT JOIN country ON city.country_id = country.id;
Dari query di atas, kita akan memulai join table dari table customer yang dijoin dengan table city, baru kemudian di join lagi dengan table country. Dengan kata lain, result nya akan menyesuaikan table customer. Berikut adalah hasilnya:
Dari sini kita bisa melihat bahwa hanya ada 4 rows data, dimana semua data yang ada di table customer dimunculkan dan table lainnya akan menyesuaikan dengan table customer.
4. Join Multiple Tabel dengan Menggunakan Kombinasi INNER JOIN & LEFT JOIN
Tidak hanya bisa menggunakan jenis join yang sama, kita juga bisa mengkombinasikan beberapa jenis join data. Dengan tetap menggunakan data dan studi kasus yang sama, misalkan kali ini, kita akan menggabungkan INNER JOIN dan LEFT JOIN. Berikut adalah query yang bisa digunakan:
SELECT country.country_name_eng, city.city_name, customer.customer_name
FROM country
INNER JOIN city ON city.country_id = country.id
LEFT JOIN customer ON customer.city_id = city.id;
Dari query ini, kita bisa melihat bahwa antara table country dengan table city hanya akan dimunculkan data yang sama saja, kemudian hasil dari penggabungan tersebut akan dimunculkan semua sementara table customer akan mengikut. Berikut adalah hasilnya:
Kita bisa melihat bahwa data-data NULL yang ada di customer name disebabkan karena data tersebut memang tidak ada isinya di table customer, namun karena menyesuaikan hasil INNER JOIN dari table country dan city, itulah mengapa rows yang NULL tetap dimunculkan.
5. Mengapa Kita Membutuhkan SQL Join Table?
Dalam dunia bisnis, terutama di industri retail atau e-commerce, data pelanggan, transaksi, produk, dan karyawan biasanya disimpan dalam tabel yang terpisah. Hal ini dilakukan untuk menjaga struktur database tetap rapi dan efisien. Misalnya, tabel customer hanya berisi informasi pelanggan, tabel product berisi detail produk, dan tabel employee berisi data karyawan. Namun, ketika bisnis membutuhkan insight yang lebih kompleks, seperti hubungan antara pelanggan, produk, dan karyawan, satu tabel saja tidak akan cukup.
Sebagai contoh, bayangkan perusahaan ingin memberikan reward kepada karyawan yang melayani customer dengan pembelian terbanyak untuk produk tertentu. Untuk menjawab pertanyaan ini, kita harus menggabungkan data dari beberapa tabel sekaligus. Dengan menggunakan SQL JOIN, kita dapat menghubungkan tabel customer, orders, product, dan employee untuk mendapatkan gambaran yang utuh. Tanpa JOIN, analisis seperti ini akan sulit dilakukan, bahkan mungkin tidak bisa dilakukan sama sekali.
6. Kenapa Ini Penting untuk Karier?
Kemampuan menggunakan JOIN dalam SQL merupakan salah satu indikator utama kompetensi seorang praktisi data. Di dunia kerja, data jarang sekali tersedia dalam bentuk yang siap pakai. Seorang Data Analyst dituntut untuk mampu menggabungkan berbagai sumber data untuk menghasilkan insight yang relevan. Oleh karena itu, penguasaan JOIN bukan hanya soal teknis, tetapi juga soal kemampuan berpikir logis dan analitis.
Selain itu, skill ini juga sangat berpengaruh terhadap peluang karier. Banyak perusahaan mencari kandidat yang tidak hanya bisa menjalankan query, tetapi juga memahami konteks bisnis di balik data tersebut. Dengan menguasai JOIN, seseorang dapat memberikan nilai tambah yang signifikan karena mampu menjawab pertanyaan bisnis yang kompleks. Hal ini tentu akan meningkatkan daya saing di pasar kerja dan membuka peluang karier yang lebih luas.
SQL menjadi hal yang sangat wajib untuk dikuasai oleh praktisi data. Hampir semua pekerjaan seorang praktisi data pasti akan melibatkan proses query pada database, sehingga meskipun tidak begitu advanced menguasai SQL, setidaknya kita bisa menguasai hal-hal fundamentalnya terlebih dahulu.
FAQ
1. Apa perbedaan utama antara INNER JOIN dan LEFT JOIN?
INNER JOIN hanya menampilkan data yang memiliki kecocokan di semua tabel yang digabungkan, sehingga hasilnya lebih “bersih” dan fokus pada data yang valid. Sementara itu, LEFT JOIN tetap menampilkan semua data dari tabel utama, meskipun tidak memiliki pasangan di tabel lain, sehingga memungkinkan kita melihat data yang kosong atau belum terhubung.
2. Kapan sebaiknya menggunakan kombinasi INNER JOIN dan LEFT JOIN?
Kombinasi JOIN digunakan ketika kita ingin menjaga validitas data utama (dengan INNER JOIN) sekaligus tetap melihat kemungkinan data yang belum lengkap (dengan LEFT JOIN). Biasanya ini dipakai dalam analisis bisnis yang tidak hanya fokus pada performa saat ini, tetapi juga untuk menemukan peluang atau gap dalam data.
3. Kenapa skill JOIN penting untuk karier di bidang data?
Karena di dunia kerja, data hampir selalu tersebar di banyak tabel dan tidak bisa langsung digunakan. JOIN membantu menggabungkan data tersebut menjadi insight yang utuh dan relevan. Kandidat yang menguasai JOIN biasanya lebih unggul karena mampu menjawab pertanyaan bisnis yang kompleks, bukan sekadar mengolah data mentah.
Kalau kamu tertarik untuk berkarir sebagai Data Analyst yang menguasai teknik Data Cleaning secara handal, ini adalah saat yang tepat! Yuk, segera Sign Up ke DQLab! Di sini, kamu bisa belajar dari dasar hingga tingkat lanjut dengan materi dan tools yang relevan dengan kebutuhan industri, bahkan tanpa latar belakang IT. Belajar kapan saja dan di mana saja dengan fleksibilitas penuh, serta didukung oleh fitur eksklusif Ask AI Chatbot 24 jam!
Tidak cuma itu, DQLab juga sudah menerapkan metode pembelajaran HERO (Hands-On, Experiential Learning & Outcome-based) yang dirancang ramah untuk pemula, dan telah terbukti mencetak talenta unggulan yang sukses berkarier di bidang data. Jadi, mau tunggu apa lagi?
Jadi, tunggu apa lagi? Segera persiapkan diri untuk menguasai keterampilan di bidang data dan teknologi dengan subscribe modul premium, atau ikuti Bootcamp Data Analyst with SQL and Python sekarang juga!
Penulis: Reyvan Maulid
Postingan Terkait
Menangkan Kompetisi Bisnis dengan Machine Learning
Mulai Karier
sebagai Praktisi
Data Bersama
DQLab
Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Daftar Gratis & Mulai Belajar
Mulai perjalanan karier datamu bersama DQLab
Sudah punya akun? Kamu bisa Sign in disini
