Jumat, 18 November 2016

JOIN QUERY DATABASE


1.

Jelaskan dan beri contoh apa yang dimaksud dengan Left Join!

LEFT JOIN adalah relasi antar tabel yang mana query yang ditampilkan mengacu pada tabel yang ada di sebelah kiri / tabel utama. Misal seperti ini :
mysql> select * from mahasiswa order by id asc;

id nimkota prodi angkatan
1 1451501031 Manado Teknik Informatika 2014
2 1451501032 Malang Sistem Informasi 2014
3 1451501040 Malang Teknik Informatika 2014
4 1451501041 Surabaya Teknik Informatika 2014
5 1451501043 Malang Sistem Informasi 2014


mysql> select * from nim order by id asc;

id nimnama
1 1451501031 Mustof
2 1451501032 Bisri
3 1451501040 Alex
4 1451501041 Graham

Jika kedua tabel itu kita relasi dengan LEFT JOIN maka akan menjadi seperti ini :
mysql > select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a left join nim b on a.nim=b.nim;

id nimkota prodi angkatan nama
1 1451501031 Manado Teknik Informatika 2014 Mustof
2 1451501032 Malang Sistem Informasi 2014 Bisri
3 1451501040 Malang Teknik Informatika 2014 Alex
4 1451501041 Surabaya Teknik Informatika 2014 Graham
5 1451501043 Malang Sistem Informasi 2014 NULL

baris kelima kolom nama tertulis NULL, karena data tidak ditemukan di tabel nim.

2.

Jelaskan dan beri contoh apa yang dimaksud dengan Right Join!

RIGHT JOIN adalah relasi antar tabel yang mana query yang ditampilkan mengacu pada tabel yang ada di sebelah kanan. Misal seperti ini :
mysql> select * from mahasiswa order by id asc;

id nimkota prodi angkatan
1 1451501031 Manado Teknik Informatika 2014
2 1451501032 Malang Sistem Informasi 2014
3 1451501040 Malang Teknik Informatika 2014
4 1451501041 Surabaya Teknik Informatika 2014
5 1451501043 Malang Sistem Informasi 2014

mysql> select * from nim order by id asc;

id nimnama
1 1451501031 Mustof
2 1451501032 Bisri
3 1451501040 Alex
4 1451501041 Graham
5 1451501111 Shofu
6 1451501112 Fida

Jika kedua tabel itu kita relasi dengan RIGHT JOIN maka akan menjadi seperti ini :
mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a right join nim b on a.nim=b.nim;

id nimkota prodi angkatan nama
1 1451501031 Manado Teknik Informatika 2014 Mustof
2 1451501032 Malang Sistem Informasi 2014 Bisri
3 1451501040 Malang Teknik Informatika 2014 Alex
4 1451501041 Surabaya Teknik Informatika 2014 Graham
NULL NULL NULL NULL NULL Shofu
NULL NULL NULL NULL NULL Fida

3.

Jelaskan dan beri contoh apa yang dimaksud dengan inner Join!

INNER JOIN query menampilkan data yang sama antara tabel pertama dengan tabel kedua, misalnya:
mysql> select * from mahasiswa order by id asc;

id nimkota prodi angkatan
1 1451501031 Manado Teknik Informatika 2014
2 1451501032 Malang Sistem Informasi 2014
3 1451501040 Malang Teknik Informatika 2014
4 1451501041 Surabaya Teknik Informatika 2014
5 1451501043 Malang Sistem Informasi 2014

mysql> select * from nim order by id asc;

id nimnama
1 1451501031 Mustof
2 1451501032 Bisri
3 1451501040 Alex
4 1451501041 Graham
5 1451501111 Shofu
6 1451501112 Fida

Jika kedua tabel itu kita relasi dengan INNER JOIN maka akan menjadi seperti ini :
mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a inner join nim b on a.nim=b.nim;

id nimkota prodi angkatan nama
1 1451501031 Manado Teknik Informatika 2014 Mustof
2 1451501032 Malang Sistem Informasi 2014 Bisri
3 1451501040 Malang Teknik Informatika 2014 Alex
4 1451501041 Surabaya Teknik Informatika 2014 Graham
NULL NULL NULL NULL NULL Shofu
NULL NULL NULL NULL NULL Fida

4.

Jelaskan dan beri contoh apa yang dimaksud dengan Left outer Join!

Konsepnya sama seperti Left Join.

5.

Jelaskan dan beri contoh apa yang dimaksud dengan Right outer

Join!
Konsepnya sama seperti Right Join.

6.

Jelaskan dan beri contoh apa yang dimaksud dengan FULL OUTER JOIN!

Operasi Join tipe ini akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan join yang di sisi kanan nilainya null dan sebaliknya.

Tabel Area

id_area nama_arealuas_area
ARS01 Surabaya 1000
ARJ01 Jakarta 2000
ARY09 Yogya 4000
ARS02 Solo 3000
ARK01 Kediri NULL

Tabel Penduduk

id_penduduk nama_pendudukid_area
PDS01 Susana ARS01
PDJ01 Hendry NULL
PDA01 Asrina ARJ01
PDA02 Abi ARY01

Syntax full outer join:
select d.id_area, d.nama_area, d.luas_area, p.id_penduduk, p.nama_penduduk from area d full join penduduk p on (d.id_area=p.id_area);
Tabel menjadi:

id_area nama_arealuas_area id_penduduk nama_pendudukid_area
ARS01 Surabaya 1000 NULL NULL
ARJ01 Jakarta 2000NULL NULL
ARY09 Yogya 4000NULL NULL
ARS02 Solo 3000NULL NULL
ARK01 Kediri NULLNULL NULL
PDJ01 NULL NULLNULL Hendry
PDJ02 NULL NULLNULL Abi

Tidak ada komentar:

Posting Komentar