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