Berikut ini saya akan menyajikan teknik mengambil informasi (melakukan query) dengan menggunakan banyak tabel. Sebagai contoh saya memiliki beberapa tabel dibawah ini.
Tabel Pegawai ============= NIP NAMA ============= 100231 YULI 100232 ANDI 100233 BUDI Tabel GAJI ==================== BULAN NIP GAJI ==================== 01 100231 150000 01 100232 200000 01 100233 150000 Tabel POTONGAN ==================== BULAN NIP JUMPOT ==================== 01 100231 50000 01 100232 75000
Laporan yang diinginkan adalah : Daftar Gaji Pegawai Bulan Januari
NIP NAMA GAJI POTONGAN DITERIMA =========================================== 100231 YULI 150000 50000 100000 100232 ANDI 200000 75000 125000 100233 BUDI 150000 0 150000
Maka query (perintah bahasa MySQL) untuk menghasilkan informasi diatas adalah :
SELECT a1.nip,a1.nama,b1.gaji,c1.jumpot,(b1.gaji-c1.jumpot) as diterima FROM pegawai as a1,gaji as b1,potongan as c1 WHERE a1.nip=b1.nip and a1.nip=c1.nip and b1.bulan='01' and c1.bulan='01' order by a1.nip; |
atau gunakan cara berikut ini :
SELECT a1.nip, a1.nama, b1.gaji, c1.jumpot, (b1.gaji-c1.jumpot) as diterima FROM pegawai as a1 LEFT JOIN gaji as b1 ON a1.nip=b1.nip LEFT JOIN potongan as c1 ON a1.nip=c1.nip WHERE b1.bulan='01' and c1.bulan='01' order by a1.nip; |
ada yang tahu cara yang lebih simple atau lebih cepat lagi dalam query?