Left Join atau Left Outer Join adalah clause untuk membuat view dari dua buah tabel yang dihubungkan melalui satu atau lebih field dari masing-masing tabel dimana tabel yang disebutkan pertama akan menampilkan semua data walaupun pada tabel kedua data tersebut tidak ada.
Misalnya tabel MT_ANGGOTA mempunyai data sebabai berikut:
NO_ANGGOTA | NAMA | ALAMAT |
12.31 | ANDI HIDAYAT | JL. BUAHBATU 10 |
12.32 | YUSUF HADI | JL. PASIRJADI 12 |
12.33 | FERY RUSLAN | JL. AHMAD YAHI 112 |
12.34 | DEDI DAHLAN | JL. GAJAH MADA 12 |
Tabel PENJUALAN mempunyai data sebagai berikut:
NO_SLIP | TANGGAL | NO_ANGGOTA |
1342 | 1-Feb-2010 | 12.31 |
1343 | 2-Feb-2010 | 12.33 |
1344 | 3-Feb-2010 | 12.33 |
1345 | 4-Feb-2010 | 12.34 |
Perintah Select query dengan Left Join sebagai berikut:
Akan menghasilkan output sebagai berikut:
NO_ANGGOTA | NAMA | NO_SLIP | TANGGAL |
12.31 | ANDI HIDAYAT | 1342 | 1-Feb-2010 |
12.3 | DEDI DAHLAN | 1345 | 4-Feb-2010 |
12.33 | FERY RUSLAN | 1343 | 2-Feb-2010 |
12.3 | FERY RUSLAN | 1344 | 3-Feb-2010 |
12.32 | YUSUF HADI |
Pada baris data kelima untuk data YUSUF HADI pada kolom NO_SLIP dan TANGGAL datanya kosong atau null karena memang tidak ada data penjualan untuk NO_ANGGOTA 12.32.
Jika Clause LEFT JOIN atau LEFT OUTER JOIN diganti dengan INNER JOIN, maka output view yang dihasilkan adalah:
NO_ANGGOTA | NAMA | NO_SLIP | TANGGAL |
12.31 | ANDI HIDAYAT | 1342 | 1-Feb-2010 |
12.3 | DEDI DAHLAN | 1345 | 4-Feb-2010 |
12.33 | FERY RUSLAN | 1343 | 2-Feb-2010 |
12.3 | FERY RUSLAN | 1344 | 3-Feb-2010 |
Data YUSUF HADI tidak akan muncul karena caluse INNER JOIN hanya akan menampilkan data NO_ANGGOTA yang ada pada kedua tabel.
Clausa Right Join hampir sama dengan Left Join perbedaanya adalah pada clausa Right Join tabel yang datanya ditampilkan semua adalah tabel yang disebutkan terakhir.
No comments:
Post a Comment