RIGHT JOIN
RIGHT JOIN adalah jenis JOIN yang menghasilkan seluruh data dari tabel kanan (Right Table) dan data dari tabel kiri yang memenuhi kondisi join. Jika tidak terdapat kecocokan, maka nilai dari tabel kiri akan bernilai NULL.
RIGHT JOIN berfokus pada pengambilan seluruh data dari tabel kanan, sedangkan CROSS JOIN menghasilkan kombinasi seluruh data antar tabel. Pemahaman yang mendalam terhadap kedua jenis JOIN ini sangat penting, khususnya dalam pengolahan data yang kompleks dan analisis berbasis relasi.
Tabel kanan adalah tabel yang berada di sebelah kanan dalam operasi RIGHT JOIN.
Karakteristik utama table kanan:
Semua datanya akan selalu ditampilkan
Menjadi acuan utama dalam hasil query
Tidak akan kehilangan data meskipun tidak memiliki pasangan
Dengan demikian, tabel kanan disebut sebagai preserved table, yaitu relasi yang dipertahankan secara utuh dalam hasil JOIN.
Struktur Sintaks
SELECT kolom
FROM tabel_kiri
RIGHT JOIN tabel_kanan
ON kondisi;
Contoh Implementasi
Contoh implementasi menggunakan tabel yang telah dibuat pada materi Inner Join dan Left Join
SELECT
S.Nama_Siswa,
N.Nilai
FROM Siswa S
RIGHT JOIN Nilai_Siswa N
ON S.ID_Siswa = N.ID_Siswa;
Penjelasan:
Semua data dari tabel Nilai_Siswa akan ditampilkan
Jika tidak ada pasangan di tabel Siswa, maka Nama_Siswa bernilai NULL
RIGHT JOIN bersifat right-preserving join
RIGHT JOIN Lebih dari Dua Tabel
JOIN dapat dilakukan terhadap lebih dari dua tabel dengan metode chaining (berantai). Contoh sebagai berikut:
SELECT
S.Nama_Siswa,
N.Nilai,
K.Nama_Kelas
FROM Siswa S
RIGHT JOIN Nilai_Siswa N
ON S.ID_Siswa = N.ID_Siswa
RIGHT JOIN Kelas K
ON S.ID_Kelas = K.ID_Kelas;
Penjelasan:
JOIN dilakukan dari kiri ke kanan
Tabel paling kanan (Kelas) menjadi prioritas utama
Semua data pada tabel terakhir akan ditampilkan
Catatan
Dalam praktik, penggunaan RIGHT JOIN berantai jarang digunakan karena sulit dibaca dan rentan kesalahan logika
Sebagai alternatif, biasanya digunakan LEFT JOIN dengan urutan tabel dibalik.
CROSS JOIN
CROSS JOIN adalah operasi JOIN yang menghasilkan kombinasi seluruh baris dari dua tabel. Operasi ini dikenal sebagai Cartesian Product.
Struktur Sintaks
SELECT kolom
FROM tabel1
CROSS JOIN tabel2;
Contoh Implementasi
SELECT
S.Nama_Siswa,
N.Nilai
FROM Siswa S
CROSS JOIN Nilai_Siswa N;
Jika:
Siswa terdiri dari 2 baris
Nilai_Siswa terdiri dari 2 baris
Maka hasilnya adalah 4 baris
Setiap baris pada tabel pertama dikombinasikan dengan semua baris pada tabel kedua.
CROSS JOIN Lebih dari Dua Tabel
Contoh:
SELECT
S.Nama_Siswa,
N.Nilai,
K.Nama_Kelas
FROM Siswa S
CROSS JOIN Nilai_Siswa N
CROSS JOIN Kelas K;
Analisis Matematis
Jumlah baris hasil:
|A| X |B| X |C|
Implikasi
Pertumbuhan data bersifat eksponensial
Dapat menyebabkan beban tinggi pada sistem
Harus digunakan secara selektif
Perbandingan RIGHT JOIN dan CROSS JOIN
| Aspek | RIGHT JOIN | CROSS JOIN |
| Konsep dasar | Outer Join | Cartesian Product |
| Kondisi | Menggunakan ON | Tidak menggunakan ON |
| Fokus | Tabel kanan | Semua kombinasi |
| Nilai NULL | Bisa muncul | Tidak muncul |
| Kompleksitas | Sedang | Tinggi |
Kesimpulan
- RIGHT JOIN merupakan operasi JOIN yang mempertahankan seluruh data dari tabel kanan, sedangkan CROSS JOIN menghasilkan seluruh kombinasi data antar tabel.
- Right Table (tabel kanan)memiliki peran penting sebagai tabel yang dipertahankan dalam RIGHT JOIN.
- Implementasi JOIN pada lebih dari dua tabel dilakukan secara berantai, dengan prioritas pada tabel yang berada paling kanan (untuk RIGHT JOIN).
- CROSS JOIN memiliki kompleksitas tinggi dan harus digunakan secara hati-hati untuk menghindari pembengkakan data.
- Dalam penggunaan JOIN disarankan menggunakan LEFT JOIN untuk meningkatkan keterbacaan
- CROSS JOIN sebaiknya digunakan hanya untuk kebutuhan khusus
- Penggunaan CROSS JOIN perlu mempertimbangkan performa sistem dalam pengolahan data besar
Slide materi dapat dilihat di sini
