MySQL Series : RIGHT JOIN MySQL - Rumah IT

Baru

recent

MySQL Series : RIGHT JOIN MySQL

MySQL Series : RIGHT JOIN MySQL

Dalam MySQL RIGHT JOIN digunakan untuk menggabungkan dua atau lebih tabel dan mengembalikan semua baris dari tabel sebelah kanan, dan hanya hasil dari tabel lain yang memenuhi kondisi gabungan. Jika menemukan record yang tidak cocok dari tabel sisi kiri, ia mengembalikan nilai Null. Sebenarnya mirip dengan MySQL LEFT JOIN, bedanya dalam right join memberikan hasil sebaliknya dari tabel gabungan. Right Join juga dikenal sebagai Right Outer Join. Jadi, Outer adalah klausa opsional yang digunakan dengan Right Join.

Diagram venn berikut menggambarkan tipe penggabungan right join.

MySQL Series : RIGHT JOIN MySQL

Berikut ini adalah sintaks dasar Right Join yang menggabungkan tabel TabelA dan TabelB:

SELECT column
FROM TabelA
RIGHT [OUTER] JOIN TabelB 
ON kondisi;  

Note : pada Right Join, jika tabel berisi nama kolom yang sama, maka klausa ON dan USING memberikan hasil yang setara.

Contoh Kasus :

Di sini, kita akan membuat dua tabel "siswa" dan "ujian" yang berisi data berikut:

1. Tabel siswa

+--------+--------------+------------+------------+
| nis    | nama_siswa   | tgl_lahir  | tmp_lahir  |
+--------+--------------+------------+------------+
|      1 | Vanessa Angel| 2001-05-01 |   Jakarta  |
|      2 | Nurhadi      | 2002-07-15 |   Surabaya |
|      3 | Aldo         | 2005-10-18 |   Bandung  |
|      4 | Burhan       | 2007-01-03 |   Semarang |
|      5 | Samsul       | 2008-06-24 |   Jakarta  |
+--------+--------------+------------+------------+

2. Tabel ujian

+-----------+------------+------+------+
| id_ujian  | tgl_ujian  | nis  | nilai|
+-----------+------------+------+------+
|      1234 | 2020-05-01 |   2  |  80  |
|      2345 | 2020-07-15 |   4  |  75  |
|      3456 | 2020-10-18 |   5  |  100 |
|      4567 | 2020-01-03 |   2  |  65  |
|      5678 | 2020-06-24 |   1  |  95  |
+-----------+------------+------+------+

Untuk memilih record dari kedua tabel menggunakan RIGHT JOIN, jalankan kueri berikut:

SELECT siswa.nis, nama_siswa, nilai, tgl_ujian
FROM siswa
RIGHT JOIN ujian ON siswa.nis = ujian.nis
ORDER BY  nis;  

atau alternatif lain bisa juga menggunakan kueri berikut :

SELECT siswa.nis, nama_siswa, nilai, tgl_ujian
FROM siswa
RIGHT JOIN ujian USING(nis)
ORDER BY  nis;

Setelah eksekusi kueri di atas berhasil, maka akan memberikan output seperti berikut :

+--------+--------------+--------+--------------+
| nis    | nama_siswa   | nilai  | tgl_ujian    |
+--------+--------------+--------+--------------+
|      1 | Vanessa Angel| 95     |   2020-06-24 |
|      2 | Nurhadi      | 80     |   2020-05-01 |
|      2 | Nurhadi      | 65     |   2020-01-03 |
|      4 | Burhan       | 75     |   2020-07-15 |
|      5 | Samsul       | 100    |   2020-10-18 |
+--------+--------------+--------+--------------+

RIGHT JOIN dengan klausa WHERE

MySQL menggunakan klausa WHERE untuk memberikan hasil filter dari tabel. Contoh berikut mengilustrasikan hal ini dengan klausa Right Join:

SELECT * FROM siswa
RIGHT JOIN ulangan USING(nis)
WHERE nilai > 75 AND nilai < 100;  

kueri SQL diatas adalah untuk menampilkan semua kolom siswa yang mempunyai nilai > 75 dan < 100 . Jika kueri diatas di eksekusi maka akan menghasilkan output seperti berikut :

+--------+--------------+------------+------------+----------+------------+-------+
| nis    | nama_siswa   | tgl_lahir  | tmp_lahir  | id_ujian | tgl_ujian  | nilai |
+--------+--------------+------------+------------+----------+------------+-------+
|      2 | Nurhadi      | 2002-07-15 |   Surabaya |     1234 | 2020-05-01 |  80   |
|      1 | Vanessa Angel| 2001-05-01 |   Jakarta  |     5678 | 2020-06-24 |  95   |
+--------+--------------+------------+------------+----------+------------+-------|

All Rights Reserved by Rumah IT - Rumah Teknologi Informasi © 2013 - 2022
Powered By Blogger

Contact Form

Name

Email *

Message *

Powered by Blogger.