Buat Akun DQLab & Akses Kelas Data Science Python, R, SQL, Excel GRATIS

Tutorial Mudah MySQL Self Join Table

Belajar Data Science di Rumah 08-Mei-2023
https://dqlab.id/files/dqlab/cache/1cd76dc8b7571858ade3b88a5f3cbc42_x_Thumbnail800.jpeg

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:

SQL

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:

SQL

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:

SQL

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.

SQL

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.

SQL

Hasil dari query tersebut akan menampilkan semua karyawan dengan nama atasan mereka, seperti contoh berikut:

SQL


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.

SQL

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:

SQL

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  


Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login