SQL - Right Join: Panduan Komprehensif untuk Pemula
Selamat datang, para ahli basis data masa depan! Hari ini, kita akan masuk ke dunia magis SQL Right Joins. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya – saya akan menjadi panduan ramah Anda dalam perjalanan ini. Pada akhir tutorial ini, Anda akan dapat melakukan right join tabel seperti seorang ahli!
Right Join SQL: Teman Baru Anda
Apa Itu Right Join?
Marilah kita mulai dari dasar. Right Join adalah seperti mengundang semua teman Anda dari satu kelompok ( mari kita sebutkan tabel kanan) ke pesta, dan kemudian memeriksa apakah mereka memiliki teman bersama dari kelompok lain (tabel kiri). Jika ya, bagus! Jika tidak, tak perlu khawatir – mereka masih bisa datang ke pesta.
Dalam istilah SQL, right join mengembalikan semua rekord dari tabel kanan (table2), dan rekord yang cocok dari tabel kiri (table1). Jika tidak ada cocokan, hasilnya adalah NULL di sebelah kiri.
Sintaks Dasar
Ini adalah penampilan dasar dari Right Join:
SELECT nama_kolom(s)
FROM tabel1
RIGHT JOIN tabel2
ON tabel1.nama_kolom = tabel2.nama_kolom;
Marilah kitauraikan ini:
- Kita memilih kolom yang ingin kita lihat
- Kita mulai dengan
tabel1
(tabel kiri kita) - Kita RIGHT JOIN-nya dengan
tabel2
(tabel kanan kita) - Kita menentukan bagaimana mereka terhubung dengan klausa ON
Contoh Sederhana
Imaginilah kita memiliki dua tabel: Employees
dan Departments
. Tidak semua departemen memiliki karyawan, tetapi kita ingin melihat semua departemen, bahkan yang kosong.
SELECT Employees.Name, Departments.DepartmentName
FROM Employees
RIGHT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
Kueri ini akan menampilkan semua departemen, bahkan jika mereka tidak memiliki karyawan. Untuk departemen yang tidak memiliki karyawan, kolom Name akan menampilkan NULL.
Menggabungkan Banyak Tabel dengan Right Join: Semakin Banyak, Semakin Menyenangkan!
kadang-kadang, dua tabel saja tidak cukup. Ayo katakan kita ingin menambahkan informasi gaji dari tabel Salaries
.
SELECT e.Name, d.DepartmentName, s.Salary
FROM Employees e
RIGHT JOIN Departments d ON e.DepartmentID = d.DepartmentID
RIGHT JOIN Salaries s ON e.EmployeeID = s.EmployeeID;
Di sini, kita menggunakan alias tabel (e, d, s) untuk membuat kueri kita lebih mudah dibaca. Kueri ini akan menampilkan semua departemen dan semua gaji, bahkan jika tidak ada karyawan yang cocok.
Tips Pro: Urutan Penting
Saat menggabungkan banyak tabel dengan Right Join, urutan join Anda dapat mempengaruhi hasil Anda. Selalu mulai dengan tabel yang Anda ingin pastikan sepenuhnya direpresentasikan (dalam kasus ini, Departments).
Right Join dengan WHERE Clause: Menjadi Lebih Selektif
kadang-kadang, kita ingin lebih selektif dengan data kita. Itu di mana klausa WHERE berguna.
SELECT e.Name, d.DepartmentName
FROM Employees e
RIGHT JOIN Departments d ON e.DepartmentID = d.DepartmentID
WHERE d.Location = 'New York';
Kueri ini akan menampilkan semua departemen di New York, bersama dengan semua karyawan di departemen itu.
Menemukan Departemen Yg Tak Ada Karyawan
Ingin menemukan departemen yang tidak memiliki karyawan? Ini caranya:
SELECT d.DepartmentName
FROM Employees e
RIGHT JOIN Departments d ON e.DepartmentID = d.DepartmentID
WHERE e.EmployeeID IS NULL;
Kueri ini menggunakan RIGHT JOIN untuk mencakup semua departemen, kemudian menyaring departemen di mana tidak ditemukan karyawan.
Menggabungkan Semua: Kasus Dunia Nyata
Ayo imaginasikan kita menjalankan basis data sekolah. Kita memiliki tabel untuk Students, Classes, dan Enrollments. Kita ingin melihat semua kelas, jumlah murid yang terdaftar, dan nilai rata-rata.
SELECT
c.ClassName,
COUNT(s.StudentID) AS EnrolledStudents,
AVG(e.Grade) AS AverageGrade
FROM Classes c
LEFT JOIN Enrollments e ON c.ClassID = e.ClassID
LEFT JOIN Students s ON e.StudentID = s.StudentID
GROUP BY c.ClassName;
Kueri ini akan menampilkan semua kelas, bahkan yang tanpa murid terdaftar. Fungsi COUNT dan AVG akan menangani nilai NULL dengan benar.
Metode Right Join Umum
Berikut adalah tabel metode Right Join umum yang Anda mungkin temui berguna:
Metode | Deskripsi | Contoh |
---|---|---|
Right Join Dasar | Menggabungkan dua tabel, mempertahankan semua rekord dari tabel kanan | SELECT * FROM tabel1 RIGHT JOIN tabel2 ON tabel1.id = tabel2.id |
Right Join dengan WHERE | Menyaring hasil Right Join | SELECT * FROM tabel1 RIGHT JOIN tabel2 ON tabel1.id = tabel2.id WHERE tabel2.column = 'value' |
Banyak Right Joins | Menggabungkan lebih dari dua tabel | SELECT * FROM tabel1 RIGHT JOIN tabel2 ON tabel1.id = tabel2.id RIGHT JOIN tabel3 ON tabel2.id = tabel3.id |
Right Join dengan USING | Menyederhanakan klausa join saat nama kolom sama | SELECT * FROM tabel1 RIGHT JOIN tabel2 USING (id) |
Right Join dengan GROUP BY | Mengelompokkan hasil Right Join | SELECT tabel2.column, COUNT(*) FROM tabel1 RIGHT JOIN tabel2 ON tabel1.id = tabel2.id GROUP BY tabel2.column |
Ingat, latihan membuat sempurna! Jangan khawatir untuk mencoba kueri ini di basis data Anda sendiri. Selamat coding, dan may the JOIN be with you!
Credits: Image by storyset