1. Pendahuluan
Setelah membahas tentang mengapa tabel harus dipisah dan bagaimana konsep dasar menyatukannya kembali, kini akan melanjutkan ke tahap eksekusi. Dari sekian banyak jenis penggabungan data di dalam SQL, INNER JOIN adalah bintang utamanya yang paling sering digunakan di dunia kerja nyata. Jika sebagai Data Analyst, Backend Developer, atau admin database, hampir 90% waktunya bekerja saat meracik laporan akan melibatkan perintah yang satu ini. Alasannya sangat sederhana: dalam bisnis sehari-hari, kita biasanya hanya peduli pada data yang valid, lengkap, dan saling berhubungan satu sama lain, bukan data yang terisolasi atau error.
Oleh karena itu, belajar INNER JOIN bukan sekadar nilai tambah, melainkan keterampilan wajib yang menjadi pondasi bagi karir di bidang data.
2. Latar Belakang
Dalam operasional sistem basis data dunia nyata, tidak semua data berjalan dengan mulus dan berpasangan dengan sempurna. Ada kalanya terjadi human error, penghapusan data sepihak, atau desain sistem yang kurang ketat, kita menemukan data yang "menggantung" tanpa pasangan.
Bayangkan kalau kamu adalah seorang staf HRD yang ditugaskan untuk mencetak slip gaji bulan ini berdasarkan dua tabel: Tabel Karyawan dan Tabel Gaji. Tentu saja, Anda tidak ingin sistem mencetak slip gaji kosong untuk mantan karyawan yang sudah resign (datanya ada di Tabel Karyawan, tapi tidak ada di Tabel Gaji). Sebaliknya, kamu juga tidak ingin memproses data transfer uang yang nyasar tanpa ada nama pemiliknya yang jelas (datanya ada di Tabel Gaji, tapi tidak ada di Tabel Karyawan). Sistem harus bisa menyisir jutaan baris data dan hanya menyajikan daftar orang-orang yang statusnya aktif dan memiliki riwayat gaji yang sah. Solusi matematis dan komputasional untuk kebutuhan penyaringan tingkat tinggi inilah yang dijawab oleh perintah INNER JOIN.
3. Pengertian
INNER JOIN adalah tipe penggabungan (join) dalam SQL yang secara ketat hanya akan mengembalikan baris data jika terdapat kecocokan nilai (match) di kedua tabel yang sedang dihubungkan. Jika sebuah baris data di Tabel A tidak memiliki pasangan yang sesuai di Tabel B berdasarkan kolom kunci (key) yang ditentukan, maka baris tersebut akan diabaikan dan tidak akan muncul dalam hasil akhir query. Begitu pula sebaliknya, jika ada data di Tabel B yang tidak memiliki referensi ke Tabel A, data itu juga akan dibuang dari tampilan layar. Secara default, jika hanya mengetikkan kata JOIN saja di dalam perintah SQL tanpa embel-embel apa pun, mayoritas sistem database (termasuk MariaDB/MySQL) akan secara otomatis mengeksekusinya sebagai sebuah INNER JOIN.
4. Pembahasan Konsep: Irisan Himpunan
Untuk memahami cara kerja INNER JOIN, bayangkan Tabel A sebagai lingkaran sebelah kiri dan Tabel B sebagai lingkaran sebelah kanan. INNER JOIN secara harfiah adalah area irisan (intersection) yang berada tepat di tengah-tengah kedua lingkaran tersebut, tempat di mana kedua lingkaran saling tumpang tindih.
(sumber gambar w3schools)
Area lingkaran kiri yang tidak terkena irisan merepresentasikan data dari Tabel A yang tidak punya pasangan di Tabel B; data ini dieliminasi. Area lingkaran kanan yang murni merepresentasikan data dari Tabel B yang tidak ada kaitannya dengan Tabel A; data ini juga dieliminasi. Sistem database membandingkan satu per satu menggunakan klausa ON (misalnya ON Tabel_A.ID = Tabel_B.ID). Begitu nilai ID ini sama persis (identik), baris tersebut akan "dijahit" secara horizontal menjadi satu kesatuan informasi yang baru. Proses pencocokan ini berlangsung sangat cepat di belakang layar berkat adanya struktur Index dan Primary Key yang sudah kita pelajari sebelumnya.
5. Implementasi Langsung
Sama seperti JOIN sebelumnya, INNER JOIN sama sama menggabungkan data yang saling memiliki kecocokan, namun query nya tetap diubah ya query dituliskan INNER JOIN.
7. Kesimpulan
-Penggunaan Utama: INNER JOIN adalah metode penggabungan default dan paling sering digunakan untuk menghasilkan laporan dari data yang berelasi erat.
-Prinsip Filter: Perintah ini bertindak sebagai filter ketat yang mengadopsi prinsip irisan (intersection); hanya data yang eksis dan cocok di kedua belah pihak tabel yang akan dipertahankan.
-Integritas Laporan: Sangat cocok digunakan untuk laporan transaksional yang menuntut keakuratan tinggi, di mana kita tidak ingin melihat data yatim piatu (seperti pesanan tanpa pelanggan atau produk tanpa kategori).
-Penulisan: Kata INNER bersifat opsional di mayoritas RDBMS; menuliskan JOIN saja sudah cukup untuk memanggil fungsi ini.
- INNER JOIN juga sama seperti JOIN karena sama sama menggabungkan yang saling berkaitan dalam 2 tabel.
8. Daftar Pustaka
1. MySQL 8.0 Reference Manual. (2024). JOIN Clause and Relational Database Design. Oracle Corporation. (Dokumentasi standar untuk praktik SQL).
2. W3Schools Online Web Tutorials. (n.d.). SQL INNER JOIN Keyword & Syntax. Diakses dari https://www.w3schools.com/sql/sql_join_inner.asp.
3. Beighley, L. (2007). Head First SQL: Your Brain on SQL -- A Learner's Guide. O'Reilly Media. (Buku yang sangat bagus karena menjelaskan konsep JOIN menggunakan banyak gambar visual yang mudah dipahami).
4. MariaDB Knowledge Base. (2025). JOINS: INNER JOIN and Cross Joins. MariaDB Foundation. (Referensi wajib untuk pengguna sistem operasi Linux/Ubuntu).
5. Google Gemini AI. (2026). Diskusi Interaktif: Panduan Lengkap SQL INNER JOIN untuk Praktek Terminal Ubuntu/MariaDB.
