Upload
atina-nabila
View
75
Download
6
Embed Size (px)
Citation preview
LAPORAN BASIS DATA LANJUTAN
Sesion IX
Ekspresi Query
Disusun Oleh :
Evan Enza Rizqi
IK - 2A
3.34.12.0.10
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ELEKTRO
POLITEKNIK NEGERI SEMARANG
2013
Sesion IX (Ekspresi Query)
Ekspresi Kondisional Ekspresi Kondisional menggunakan logika IF-THEN-ELSE di dalam SQL Statement. Digunakan dua cara, yaitu : • Ekspresi CASE • Fungsi DECODE
Ekspresi CASE Ekspresi CASE mempunyai bentuk umum sebagai berikut :
Contoh : select first_name, last_name, job_id, salary, case job_id when 'IT_PROG' then 1.10*salary when 'ST_CLERK' then 1.20*salary when 'SA_REP' then 1.30*salary else salary end "revised_salary" from employees;
Fungsi DECODE
Fungsi DECODE menyediakan fasilitas pencocokan seperti yang dikerjakan oleh CASE atau
IF-THEN-ELSE.
Sintak (penulisan) fungsi DECODE :
Contoh :
select first_name, last_name, job_id, salary, decode (job_id, 'IT_PROG', 1.10*salary, 'ST_CLERK', 1.20*salary, 'SA_REP', 1.30*salary, salary) revised_salary from employees;
NAMA ALIAS Memberikan nama alias pada keluran kolom menggunakan AS. Contoh : Menampilkan jumlah gaji seluruh pegawai yang di nama aliaskan sebagai total_salary.
Menampilkan jumlah gaji (di aliaskan sebagai total_salary) per nama jabatan pegawai.
Soal bab 9 1. Tampilkan jumlah gaji (di aliaskan sebagai total_salary) per nama jabatan pegawai
dan jumlah gajinya di atas 30000. Perintah SQL :select j.job_title as "Nama Jabatan Pegawai", sum(e.salary) as total_salary from employees e, jobs j where e.job_id = j.job_idhaving sum(e.salary) > 30000group by j.job_title;
Hasil :
2. Tampilkan nama departemen dan jumlah departemen (di aliaskan sebagai total) yang berada di negara Inggris.
Perintah SQL :select d.DEPARTMENT_NAME as "Nama Departemen", count(l.COUNTRY_ID) as "Jumlah Departemen"from DEPARTMENTS d, LOCATIONS lwhere d.LOCATION_ID = l.LOCATION_ID and l.COUNTRY_ID='UK'group by d.DEPARTMENT_NAME, l.COUNTRY_ID
Hasil :
3. Buat query yang menampilkan nama dan jumlah komisi, jika komisi sama dengan NULL ganti dengan keterangan “Tidak ada Komisi” dan beri judul “Komisi”.
Perintah SQL :
select first_name as "Nama", decode(commission_pct, null, 'tidak ada komisi') komisi from employees;
Hasil :
4. Tampilkan nama pegawai dan jumlah gaji yang ditampilkan dengan symbol ‘*’, tiap satu ‘*’ mewakili ratusan dollar.Perintah SQL :
select first_name as "Nama Pegawai" , salary/100 || '*'as "Jumlah Gaji" from employees
Hasil :
5. Gunakan fungsi DECODE untuk menampilkan nilai grade semua pegawai berdasarkan pada nilai kolom JOB_ID, dengan ketentuan sebagai berikut :
Perintah SQL :
select job_id as Job, decode (job_id, 'AD_PRES','A', 'ST_MAN','B', 'IT_PROG' , 'C', 'SA_REP', 'D', 'ST_CLERK','E', '0') as Grade from jobs;
Hasil :