Pages

Powered by Blogger.

Tuesday, January 20, 2015

Penggunaan Sub Query pada basis data

8.12 LATIHAN

      1.      Tampilkan Nama Departement, beserta jumlah pegawai laki – laki dan jumlah pegawai perempuan tiap masing – masing department.
Query:
select d.deptname ,(select count(sex) from employee where sex='F'),
(select count(sex) from employee where sex='M')
from employee e, department d where d.deptno=e.workdept group by d.deptname;

Penjelasan:
Pada query diatas, perintah select digunakan untuk menampilkan deptname dari tabel department yang diinisialisasikan dengan d, menampilkan dari sub query: menghitung jumlah jenis kelamin (count(sex)) dari tabel employee dimana syarat atau kondisinya jumlah pegawai yang akan ditampilkan yaitu yang berjenis kelamin laki-laki (Male) (sex=’M’) dan menampilkan dari sub query: menghitung jumlah jenis kelamni (count(sex)) dari tabel employee dimana syarat atau kondisinya jumlah pegawai yang akan ditampilkan yaitu yang berjenis kelamin perempuan (Female) (sex=’F’) dari tabel employee yang diinisialisasikan e dan department yang diinisialisasikan dengan d dimana syarat/kondisinya deptno dari tabel department = workdpet dari tabel employee dan dikelommpokkan (group by) berdasarkan deptname dari tabel department.

Sehingga akan diperoleh data, deptname dengan jumlah pegawai laki-laki dan perempuan.


      2.      Tampilkan semua pegawai yang memiliki gaji diatas rata – rata gaji keseluruhan pegawai.
Query:
select firstnme,lastname, salary from employee where salary > (select avg(salary) from employee);

Penjelasan:
Pada query diatas, perintah select digunakan untuk menampilkan firstnme, lastname, salary dari tabel employee dimana syarat/ kondisinya salary lebih besar dari subquery yang memuat untuk menampilkan rata-rata dari gaji keseluruhan pegawai (avg(salary)) dari tabel employee. Sehingga akan diperoleh data yang memuat semua pegawai yang memiliki gaji diatas rata-rata gaji keseluruhan pegawai.


      3.      Tampilkan nama department, nama pegawai, no pegawai, gaji dari pegawai yang memiliki gaji lebih besar dari gaji pegawai dengan no_pegawai ‘000270’
Query:
select d.deptname, e.firstnme, e.empno, e.salary from employee e, department d where d.deptno=e.workdept and salary >
(select salary from employee where empno='000270');

Penjelasan:
Pada query diatas, perintah select digunakan untuk menampilkan deptname dari tabel department yang diinisialisasikan dengan d, menampilkan firstnme, empno, dan salary dari tabel employee yang diinisialisasikan dengan e dimana syarat/kondisinya deptno dari tabel department = workdept dari tabel employee dan salary nya lebih dari subquery yang memuat untuk menampilkan salary dari tabel employee dimana gaji tersebut dimiliki oleh empno dengan nomor ‘000270’. Sehingga dapat ditampilkan  data dari pegawai yang memiliki gaji lebih besar dari gaji pegawai yang memiliki empno ‘0000270’.

KESIMPULAN
             1.      Sebutkan dan jelaskan macam-macam subquery!
·         Single-Row Subquery merupakan subquery yang mengembalikan nilai hanya satu baris saja. Untuk single row subquery ini yang digunakan adalah operator pembandingan :
= , > , >= , < , <= , atau <>.
·         Multiple Row Subquery adalah subquery yang menghasilkan lebih dari satu baris. Untuk multiple row subquery ini yang digunakan adalah operator pembandingan : IN, ANY  atau ALL.
Operator =ANY ekuivalen dengan IN.
Operator <ANY ekuivalen dengan MAXIMUM.
Operator >ANY ekuivalen dengan MINIMUM
Operator >ALL ekuivalen dengan MAKSIMUM.
Operator <ALL ekuivalen dengan MINIMUM
Ciri-ciri dari Subquery baris ganda :
-          Mengembalikan lebih dari satu baris
-          Digunakan dengan menggunakan Operator Baris-Ganda
·         Multiple-Column Subquery adalah subquery yang menghasilkan lebih dari satu kolom.
             2.      Apakah perbedaan subqeury baris tunggal dan baris ganda?
-          Subquery baris tunggal
1.      Hanya menampilkan satu baris data saja
2.      Menggunakan operator pembandingan  = , > , >= , < , <= , atau <>.

-          Subquery baris ganda
1.      Menampilkan lebih dari satu baris data.
2.      Menggunakan operator pembandingan : IN, ANY  atau ALL.

No comments:

Post a Comment

 

Blogger news

Blogroll

About