Monday 7 December 2015

Memecahkan Masalah pada Sistem Basis Data



Pegawai (nip, nama, kdbag, jkl, tgl_lahir, alamat, kota, thn_masuk, status, jml_anak)
Bagian(kdbag, namabag)
Bonus(kdbag,bonus)  *)tidak semua bagian mendapat bonus, hanya TI, marketing, security
Perintah SQL :
  1. Menampilkan nama & alamat karyawan yang masuk sebelum thn 2010.
  2.  Menampilkan nama+jumlah anak untuk karyawan yang sudah menikah.
  3.  Menampilkan nama karyawan yang alamatnya ada di sleman.
  4.  Menampilkan nama karyawan yang diawali kata Adi
  5.  Menampilkan nama karyawan yang berakhiran huruf s
  6.  Menampilkan jumlah seluruh karyawan
  7.  Menghitung jumlah karyawan yang sudah menikah
  8.  Menampilkan nama karyawan dengan jumlah anak lebih dari 2
  9. Menampilkan nama karyawan dengan jumlah anak terbanyak
  10. Tampilkan nama karyawan yang mendapat bonus bulanan dibawah 1 juta.
  11.  Tampilkan nama-nama karyawan yang mendapat bonus bulanan diatas 1 juta
  12. Tampilkan nama karyawan yang mendapat bonus bulanan paling banyak.
  13. Tampilkan asal kota seluruh karyawan
  14.   Menampilkan nama karyawan dan nama bagiannya
  15.  Menampilkan nama karyawan, dan tunjangan anaknya (tunjangan diberikan 25000/anak)
Table pegawai;

Table bagian;
 

Table bonus;
 
Jawaban soal.
Perintah Cuery Dan Capture Hasil Query:

1.  select nama, alamat from pegawai where year(thn_masuk)<'2010';
 
2.  select nama, jml_anak from pegawai where status='menikah';
 
3.  select nama from pegawai where kota='sleman';
 
4.  select nama from pegawai where nama like "adi%";
 
5.  select nama from pegawai where nama like "%s";
 
6.  select count(*) from pegawai;
 
7.  select count(*) from pegawai where status='menikah';
8.  select nama from pegawai where jml_anak>2;
 
9.  select nama from pegawai where jml_anak=(select max(jml_anak) from pegawai);
 
10.            select nama from pegawai inner join bonus on pegawai.kdbag=bonus.kdbag where bonus<1000000 span="">
 
11.            select nama from pegawai inner join bonus on pegawai.kdbag=bonus.kdbag where bonus>=1000000;
 
12.            select nama from pegawai inner join bonus onbonus.kdbag=pegawai.kdbag where bonus=(select max(bonus) from bonus);
 
13.            select kota from pegawai;
 
14.            select nama, bagian.namabag from pegawai, bagian where pegawai.kdbag=bagian.kdbag;
 

15.            select nama.(jml_anak*25000) as tunjangan from pegawai;
 

1 comment: