Tutorial Mudah MySQL Self Join Table

SQL (Structured Query Language) adalah bahasa pemrograman yang digunakan untuk mengakses dan mengelola basis data relasional. Salah satu fitur yang sangat berguna dalam SQL adalah Join Table, yang memungkinkan pengguna untuk menggabungkan data dari dua tabel atau lebih untuk memberikan hasil yang lebih bermanfaat.
Dalam artikel ini, kita akan membahas salah satu jenis SQL Join Table, yaitu Self Join. Akan terdapat tutorial mudah tentang cara melakukan Self Join pada tabel MySQL menggunakan Inner Join dan Left Join Clause. Dengan memahami konsep ini, kalian akan dapat mengambil data yang lebih kompleks dan menghasilkan hasil yang lebih akurat dan efisien dari database. Yuk, segera praktikkan caranya!
1. Pengenalan Self Join Table
MySQL Self JOIN adalah pernyataan SQL yang digunakan untuk memotong atau menggabung sebuah tabel dalam database dengan tabel itu sendiri. Pada dasarnya, fungsi JOIN menggabungkan dua atau lebih tabel dalam SQL, tetapi di sini Self Join adalah Join yang memungkinkan untuk menggabungkan record dalam sebuah tabel berdasarkan ekspresi kondisional tertentu. Jenis penggabungan record dengan record lain dalam tabel yang sama ketika kondisi terpenuhi juga disebut sebagai relasi Unary. Terlebih, di sini Foreign Key yang ada dalam tabel mengacu pada Primary Key tabel itu sendiri.
Kita dapat melakukan Self Join menggunakan alias tabel. Alias tabel memungkinkan kita untuk tidak menggunakan nama tabel yang sama dua kali dalam satu pernyataan. Jika kita menggunakan nama tabel yang sama lebih dari satu kali dalam satu query tanpa alias tabel, akan menyebabkan error. Alias tabel memungkinkan kita menggunakan nama sementara tabel yang akan kita gunakan dalam query.
Berikut adalah sintaks dasar query Self Join di MySQL:
Di sini, “table_name” adalah nama tabel yang akan digunakan untuk Self Join. “t1” dan “t2” adalah alias untuk tabel yang sama, yang memungkinkan kita untuk merujuk ke tabel yang sama lebih dari satu kali dalam satu query. “common_field” adalah kolom yang sama yang akan digunakan untuk bergabung dengan dua kali tabel. Kita dapat mengganti nama kolom dan tabel sesuai dengan kebutuhan kita.
Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula
2. Bagaimana MySQL Self Join Table Diaplikasikan?
Contoh penggunaan MySQL Self Join dapat dilihat dalam struktur tabel yang berisi informasi tentang karyawan dan atasan mereka. Tabel ini mungkin memiliki kolom seperti ID karyawan, nama karyawan, ID atasan, dan nama atasan.
Dalam contoh ini, kita dapat menggunakan Self Join untuk menggabungkan kolom ID karyawan dengan kolom ID atasan pada tabel yang sama. Dalam hal ini, kita dapat menggunakan alias tabel untuk membedakan antara karyawan dan atasan yang berbeda.
Contoh kueri MySQL Self Join akan terlihat seperti ini:
Di sini, “a” dan “b” adalah alias tabel yang berbeda untuk karyawan dan atasan, masing-masing. Query mengambil nama karyawan dan nama atasan dari tabel “employees” menggunakan Self Join di mana ID atasan sama dengan ID karyawan dari tabel yang sama.
Hasil dari query tersebut akan menampilkan semua karyawan dengan nama atasan mereka, seperti contoh berikut:
Dalam contoh ini, Self Join telah digunakan untuk memetakan hubungan antara karyawan dan atasan mereka berdasarkan ID atasan yang sama dalam tabel yang sama. Dengan menggunakan alias tabel yang berbeda, kita dapat mengidentifikasi karyawan dan atasan yang berbeda dan menggabungkannya ke dalam satu query.
3. MySQL Self Join dengan Inner Join Clause
Misalkan kita memiliki tabel employees yang berisi informasi tentang karyawan dan atasan mereka. Tabel ini terdiri dari kolom-kolom sebagai berikut: ID karyawan, nama karyawan, ID atasan, dan nama atasan. Dalam contoh ini, kita akan menggunakan MySQL Self Join untuk menggabungkan kolom ID karyawan dengan kolom ID atasan pada tabel yang sama.
Dalam contoh ini, kita akan menggunakan alias tabel e1 dan e2 untuk membedakan antara karyawan dan atasan yang berbeda. Kita akan menggabungkan tabel dengan menggunakan Inner Join Clause di mana ID atasan sama dengan ID karyawan dari tabel yang sama.
Hasil dari query tersebut akan menampilkan semua karyawan dengan nama atasan mereka, seperti contoh berikut:
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
4. MySQL Self Join dengan LEFT Join Clause
MySQL Self Join juga dapat digunakan dengan LEFT Join Clause untuk menggabungkan dua atau lebih salinan tabel yang sama dan memperoleh hasil query yang diinginkan. LEFT Join Clause menggabungkan dua tabel berdasarkan kondisi yang cocok dan mempertahankan semua baris dari tabel kiri, meskipun jika tidak ada pasangan dalam tabel kanan.
Kita akan menggabungkan tabel dengan menggunakan LEFT Join Clause di mana ID atasan sama dengan ID karyawan dari tabel yang sama.
Hasil dari query tersebut akan menampilkan semua karyawan dengan nama atasan mereka, termasuk karyawan yang tidak memiliki atasan yang cocok di dalam tabel yang sama, seperti contoh berikut:
Dengan menggunakan LEFT Join Clause, semua baris dari tabel kiri, yaitu tabel employees tetap dipertahankan dalam hasil kueri, bahkan jika tidak ada pasangan dalam tabel kanan.
Contoh di atas tentu bentuk database yang masih sederhana. Sedangkan dalam praktiknya, tentu sebagai praktisi data kalian akan berhadapan dengan database yang sangat kompleks. Dibutuhkan pemahaman dan latihan rutin agar terbiasa menyelesaikan berbagai permasalahan SQL. Bingung mulai belajar darimana? DQLab adalah jawabannya. Modul ajarnya lengkap dan bervariasi. Dilengkapi studi kasus yang membantu kalian belajar memecahkan masalah dari berbagai industri. Bahkan diintegrasikan dengan ChatGPT. Manfaatnya apa?
Membantu kalian menjelaskan lebih detail code yang sedang dipelajari
Membantu menemukan code yang salah atau tidak sesuai
Memberikan solusi atas problem yang dihadapi pada code
Membantu kalian belajar kapanpun dan dimanapun
Selain itu, DQLab juga menggunakan metode HERO yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. Tunggu apa lagi, segera Sign Up dan asah kemampuan kalian dalam menggunakan SQL!
Penulis : Dita Feby
Editor : Annissa Widya
Postingan Terkait
Pentingnya Machine Learning dalam Industri Bisnis
Menangkan Kompetisi Bisnis dengan Machine Learning
Mulai Karier
sebagai Praktisi Data
Bersama DQLab
Daftar sekarang dan ambil langkah pertamamu untuk mengenal Data Science.