Query Multi Tables dengan MySQL

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?

Leave a Reply

Your email address will not be published. Required fields are marked *

[+] kaskus emoticons nartzco

What is 3 + 14 ?
Please leave these two fields as-is: