SQL - Right Join: Panduan Lengkap untuk Pemula
Selamat datang, para ahli basis data masa depan! Hari ini, kita akan meluncur 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 panduan ini, Anda akan bisa melakukan right-join tabel seperti seorang ahli!
Right Join SQL: Teman Baru Anda
Apa Itu Right Join?
Mari mulai dari dasar. Right Join adalah seperti mengundang semua teman Anda dari satu kelompok ( mari kita sebutkan tabel kanan) ke pesta, dan kemudian memeriksa jika mereka memiliki teman bersama dari kelompok lain (tabel kiri). Jika ya, bagus! Jika tidak, tenang - 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.
Sintaksis Dasar
Ini adalah penampilan dasar Right Join:
SELECT nama_kolom(s)
FROM tabel1
RIGHT JOIN tabel2
ON tabel1.nama_kolom = tabel2.nama_kolom;
Mari 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
Imagin bahwa 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 menunjukkan semua departemen, bahkan jika mereka tidak memiliki karyawan. Untuk departemen yang tidak memiliki karyawan, kolom Name akan menunjukkan NULL.
Menggabungkan Banyak Tabel dengan Right Join: Semakin Banyak, Semakin Menyenangkan!
kadang-kadang, dua tabel saja tidak cukup. mari katakan kita ingin menambah 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 menunjukkan semua departemen dan semua gaji, bahkan jika tidak ada karyawan yang cocok.
Tips Pro: Urutan Penting
Ketika menggabungkan banyak tabel dengan Right Join, urutan gabungan Anda dapat mempengaruhi hasil Anda. Selalu mulai dengan tabel yang Anda inginkan untuk dipresentasikan secara penuh (dalam kasus ini, Departments).
Right Join dengan klausa WHERE: 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 menunjukkan semua departemen di New York, bersamaan dengan karyawan mana yang berada di departemen itu.
Menemukan Departemen Yg Tak Ada Karyawan
Ingin menemukan departemen yang tidak memiliki karyawan? Ini adalah cara:
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 ada karyawan yang ditemukan.
Menggabungkan Semua: Contoh Dalam Dunia Nyata
mari 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 menunjukkan semua kelas, bahkan yang tanpa murid terdaftar. Fungsi COUNT dan AVG akan menangani nilai NULL secara sesuai.
Metode Right Join Umum
Berikut adalah tabel metode Right Join umum yang mungkin Anda temui:
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 | Memfilter 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 | Menggunakan klausa join sederhana 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 takut untuk mencoba kueri ini di basis data Anda sendiri. Selamat coding, dan may the JOIN be with you!
Credits: Image by storyset