BLOG | eabil-PLC

Profile

Bil'ticle

Join 5 : SELF JOIN : Menggabungkan Sebuah Tabel dengan Dirinya Sendiri - Perwira Learning Center

By nabil alifah rahman • Februari 21, 2026

 


1. Pendahuluan

Sebagai penutup dari seri besar penguasaan JOIN dasar ini, kita akan membahas teknik yang paling sering membuat pemula kebingungan, namun sangat dihormati oleh para ahli struktur data. Bayangkan jika selama ini kamu selalu menjahit dua potong kain (tabel) yang berbeda, sekarang kamu diminta untuk melipat satu kain besar dan menjahitnya dengan bagian dari kain itu sendiri. Teknik mereferensikan atau menggabungkan sebuah tabel dengan dirinya sendiri ini dikenal sebagai operasi SELF JOIN. Walaupun terdengar tidak masuk akal pada awalnya, teknik ini adalah satu-satunya jalan keluar logis ketika kamu harus memetakan hierarki, struktur organisasi, atau relasi kekeluargaan di dalam satu wadah penyimpanan yang seragam. Mari kita pecahkan misteri bagaimana sebuah tabel bisa "bercermin" di dalam query SQL.

2. Latar Belakang Masalah

Masalah hierarki adalah tantangan klasik di departemen HRD perusahaan mana pun. kamu ditugaskan membuat tabel bernama karyawan. kamu mencatat ID Karyawan dan Nama. Kemudian, kamu butuh kolom Nama Atasan (Manager) untuk karyawan tersebut. Karena Atasan pada hakikatnya juga berstatus sebagai "Karyawan" di perusahaan yang sama, sangat tidak efisien dan melanggar aturan normalisasi jika kamu membuat tabel khusus 'Tabel Manager' secara terpisah. kamu harus memasukkan ID Sang Atasan tersebut kembali ke dalam tabel karyawan sebagai foreign key. Tantangannya muncul saat kamu diminta mencetak laporan yang berbunyi: "Karyawan A, dipimpin oleh Manager B". Karena data karyawan dan data manager berada di dalam satu tabel fisik yang sama, kamu membutuhkan metode ilusi optik untuk meng-copy tabel tersebut saat kueri dijalankan.

3. Konsep Ilusi Alias

Rahasia dari SELF JOIN terletak pada kemampuan SQL untuk memberikan Alias (nama samaran). Karena sistem tidak bisa meng-JOIN tabel karyawan dengan karyawan secara mentah (akan menyebabkan error nama duplikat), kita harus menipunya. Kita menginstruksikan database untuk menganggap tabel tersebut sebagai dua entitas yang berbeda. Kita sebut saja tiruan yang pertama sebagai tabel Bawahan, dan tiruan yang kedua sebagai tabel Atasan.

Setelah di-cloning secara virtual, kita bisa menarik garis relasi layaknya INNER JOIN atau LEFT JOIN biasa. Kita cocokkan kolom id_manager yang ada di tabel Bawahan dengan kolom id_karyawan yang ada di tabel Atasan. Lewat trik penyamaran inilah, data yang tersembunyi dalam struktur hierarki satu dimensi bisa dibongkar dan dijabarkan menjadi format laporan multi-dimensi yang sangat mudah dibaca oleh manusia.

4. Praktek Langsung (Ubuntu/MariaDB)

4.1 Membuat table staf

 

 

4.2 Mengisi table staf 

 


4.3 Eksekusi SELF JOIN 



4.4 Analisis Hasil: Kita sengaja menggunakan LEFT JOIN agar 'Pak Direktur' (yang tidak punya atasan) tetap muncul di laporan. Di layar terminal, kamu akan melihat susunan rapi yang menyatakan bahwa 'Andi Karyawan' dipimpin oleh 'Bu Manager HRD', dan 'Bu Manager HRD' dipimpin oleh 'Pak Direktur'. 

 


 

 

5. Kesimpulan

  1. Konsep Dasar: SELF JOIN bukanlah sintaks perintah baru, melainkan sebuah teknik memanfaatkan perintah JOIN biasa (INNER/LEFT/RIGHT) pada tabel yang sama.

  2. Penggunaan Alias: Keberhasilan operasi ini sangat bergantung pada penggunaan Alias (AS) untuk menciptakan ilusi dua tabel virtual yang terpisah di memori database.

  3. Struktur Hierarki: Teknik ini adalah fondasi utama untuk memanipulasi data yang memiliki pola hierarki (pohon), seperti struktur organisasi perusahaan, daftar silsilah keluarga, atau kategori produk berjenjang.

  4. Relasi Internal: kamu memetakan kolom referensi sekunder (seperti ID Manager) kembali ke Primary Key induknya (ID Karyawan) dalam ruang lingkup yang sama.

  5. Penguasaan Logika: Memahami SELF JOIN menandakan bahwa kamu sudah tidak lagi bergantung pada hafalan sintaks, melainkan telah memahami esensi logika relasional tingkat tinggi.

     

6. Daftar Pustaka

  1. MySQL 8.0 Reference Manual. (2024). Using Table Aliases and Self Joins. Oracle Corporation.

  2. W3Schools Online Web Tutorials. (n.d.). SQL SELF JOIN. Diakses dari W3Schools.

  3. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2019). Database System Concepts (7th Ed.). McGraw-Hill Education. (Buku teks klasik akademis mengenai desain basis data).

  4. MariaDB Knowledge Base. (2025). Self-Referencing Foreign Keys. MariaDB Foundation.

  5. Google Gemini AI. (2026). Diskusi Interaktif: Menyusun Struktur Data Hierarki dengan SELF JOIN.