Learn
← Previous Next →

Hari 19: SELF JOIN — Tabel Join Dirinya Sendiri

50 min Last updated 25 Mar 2026

SELF JOIN

SELF JOIN adalah JOIN tabel dengan dirinya sendiri. Biasanya dipakai untuk data hierarki seperti pegawai-atasan, kategori-subkategori, dll.

-- Tabel karyawan memiliki kolom manager_id yang merujuk ke id di tabel yang sama
-- Tampilkan karyawan beserta nama manajernya

SELECT
  k.nama AS karyawan,
  k.jabatan,
  m.nama AS nama_manajer
FROM karyawan k
LEFT JOIN karyawan m ON k.manager_id = m.id
ORDER BY k.manager_id NULLS FIRST, k.nama;

Mengapa LEFT JOIN, Bukan INNER JOIN?

CEO tidak punya manajer (manager_id = NULL). Kalau pakai INNER JOIN, CEO tidak akan muncul. LEFT JOIN memastikan semua karyawan tampil meskipun manager_id-nya NULL.


💡 Notice: Beri alias berbeda untuk dua referensi tabel yang sama (k = karyawan, m = manajer).

Assignment

Tampilkan setiap karyawan dengan informasi: nama karyawan, jabatan, departemen, gaji, dan nama_manajer (jika tidak ada manajer tampilkan "—"). Urutkan dari gaji tertinggi.

Expected output:

12 row(s) returned
SQL query.sql
Solution
Output
⏳ Loading DB...