Pages

Powered by Blogger.

Tuesday, January 20, 2015

Column Function and Grouping dalam Sistem Basis Data

TUGAS MODUL VI

6.2 LATIHAN


      1.      Hitung jumlah pekerja pria pada setiap job yang ada.
             Query :
   select job, count(job) as jumlah_pekerja_pria from employee where sex =    'M' group by job;

   Penjelasan:
       Pada query diatas, perintah select untuk melihat atau menampilkan field dalam tabel. Yang ingin        ditampilkan yaitu job, count (job) yaitu menghitung jumlah pekerja pria dalam field job yang              diinisialkan sebagai kolom jumlah_pekerja_pria dari tabel employee dimana syarat/ kondisinya          jumlah pekerja pria yang ditampilkan adalah pekerja yang berjenis kelamin pria( where sex =             ‘M’), M disini adalah Male yang berarti pria. Group by digunakan untuk mengelompokkan data,          data diatas dikelompokkan berdasarkan job.

      2.      Hitung total gaji yang di dapat dari setiap department yang lebih dari 200000.
      Tampilkan juga nama departmentnya dan hasil query tidak boleh NULL.
            Query:
select d.deptno, d.deptname, sum(salary) as total_gaji from employee e , department d where e.workdept = d.deptno
group by d.deptname, d.deptno
having sum (salary) > 200000;

            Penjelasan:
           Dari query diatas, ditampilkan deptno dari tabel department, deptname dari tabel department,              jumlah gaji yang diinisialkan dengan nama total_gaji dari tabel employee. Dengan department            diinisialkan d dan employee diinisialkan e, dengan syarat/ kondisinya workdept pada tabel                  employee = deptno pada tabel department.  SUM diatas gunanya untuk menghitung jumlah                  record (salary) dalam data berkelompok yang bisa digunakan GROUP BY untuk                                  mengelompokkannya berdasarkan deptname dan deptno dari tabel department. Lalu disaring               baris yang diinginkan dalam data (salary) yang sudah dikelompokkan dengan menggunakan                 HAVING, dengan ketentuan salary lebih besar dari 200000.


      3.      Tampilkan total project yang dikerjakan oleh setiap department yang ada dan tampilkan nama departmentnya.
           Query:
select d.deptno, d.deptname, count (projno) as total_project from project p , department d where p.deptno = d.deptno
group by d.deptname, d.deptno order by deptname;

            Penjelasan:
Pada query diatas, perintah select digunakan untuk menampilkan atau melihat field dalam tabel dimana yang ditampilkan yaitu deptno dan deptname dari tabel department, projno dari tabel project yang diinisialkan sebagai total_project dengan ketentuan d yaitu pemisalan tabel department dan p untuk tabel project dimana syarat/ kondisinya yaitu deptno pada tabel project = deptno yang ada pada tabel department. COUNT gunanya untuk menghitung jumlah baris dalam kolom projno, karena masing-masing project pasti memiliki projno yang berbeda , jadi dengan projno kita bisa mengetahui ada berapa banyak jumlah project yang dikerjakan oleh setiap department tersebut. Data dikelompokkan dengan syntax GROUP BY berdasarkan deptname dan deptno dari tabel department dan diurutkan berdasarkan deptname.


       4.      Hitung jumlah karyawan/pekerja di setiap departemen. Data yang harus ditampilkan adalah sbb:
            - nomor departemen
            - nama departemen
            - jumlah karyawan urutkan data tersebut berdasarkan "nama departemen"
  secara "descending" (z ke a)

            Query:
select d.deptno, d.deptname, count (empno) as jml_karyawan from employee e , department d where e.workdept = d.deptno
group by d.deptname, d.deptno order by deptname desc;

Penjelasan:
Pada query diatas, perintah select digunakan untuk menampilkan atau melihat field dalam tabel dimana yang ditampilkan yaitu deptno dan deptname dari tabel department, empno dari tabel employee yang diinisialkan sebagai jml_karyawan dengan ketentuan d yaitu pemisalan tabel department dan e untuk tabel employee dimana syarat/ kondisinya yaitu workdept pada tabel employee = deptno yang ada pada tabel department. COUNT gunanya untuk menghitung jumlah baris dalam kolom empno, karena masing-masing karyawan pasti memiliki empno yang unik dan berbeda satu sama lain, jadi dengan empno kita bisa mengetahui ada berapa banyak jumlah karyawan dalam department tersebut. Data dikelompokkan dengan syntax GROUP BY berdasarkan deptname dan deptno dari tabel department dan diurutkan berdasarkan deptname yang disusun secara descading (Z ke – A).


      5.      Tampilkan nama departement dan jumlah pekerja yang usianya lebih dari 50 tahun di tiap                   departemen dari tabel employee.
            Query:
select d.deptname, count (empno) as jml_karyawan from employee e , department d where e.workdept = d.deptno and
year (birthdate) < 1963 group by d.deptname;

Penjelasan:
Pada query diatas, perintah select digunakan untuk menampilkan atau melihat field dalam tabel dimana yang ditampilkan yaitu deptname dari tabel department, empno dari tabel employee yang diinisialkan sebagai jml_karyawan dengan ketentuan d yaitu pemisalan tabel department dan e untuk tabel employee dimana syarat/ kondisinya yaitu workdept pada tabel employee = deptno yang ada pada tabel department dan dengan kondisi tahun lahir (year(birthdate)) pada setiap pakerja < 1963 yang jika dihitung dari tahun sekarang (2013) usia setiap pekerja yang ingin ditampilkan yaitu usia karyawan yang memiliki usia lebih dari 50 tahun. COUNT gunanya untuk menghitung jumlah baris dalam kolom empno, karena masing-masing karyawan pasti memiliki empno yang unik dan berbeda satu sama lain, jadi dengan empno kita bisa mengetahui ada berapa banyak jumlah karyawan dalam setiap department tersebut. Data dikelompokkan dengan syntax GROUP BY berdasarkan deptname dari tabel department.

       KESIMPULAN
             1)      Fungsi-fungsi agregat
COUNT          : Digunakan untuk menghitung jumlah / banyaknya nilai disuatu kolom
  dalam tabel.
AVG               : Digunakan untuk menghitung rata-rata pada suatu kolom
SUM               : Digunakan untuk menjumlahkan nilai dalam record
MIN                : Mencari nilai terkecil pada suatu kolom
MAX               : Mencari nilai terbesar pada suatu kolom
             2)      Fungsi group by
Digunakan untuk mengelompokkan hasil query berdasarkan suatu criteria tertentu.
3)   Klausa having
HAVING adalah operator khusus, yang digunakan untuk menyaring baris yang diinginkan dalam data yang sudah dikelompokkan dengan GROUP BY.
Fungsinya hampir sama seperti WHERE (sebagai pemberi kondisi), namun klausa WHERE tidak boleh digunakan pada query yang sudah dikelompokkan dengan menggunakan klausa GROUP BY.
Klausa having digunakan untuk menyaring data berdasarkan fungsi kelompok. Hal ini mirip dengan kondisi WHERE tapi digunakan dengan fungsi kelompok. Fungsi kelompok tidak dapat digunakan dalam WHERE Clause tetapi dapat digunakan dalam klausa HAVING.

No comments:

Post a Comment

 

Blogger news

Blogroll

About