PRAKTIKUM BASIS DATA (6) TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA Oleh : AFIYATI S.KOM, MT
SUB QUERY CREATE TABEL EMPLOYEES1 DAN EMPLOYEES2: LOAD DATA DELETE 2 DATA DARI TABEL EMPLOYEE1 DAN EMPLOYEE2 SUB QUERY: SELECT EMPLOYEE_ID FROM EMPLOYEES1 WHERE EMPLOYEE_ID IN (SELECT EMPLOYEE_ID FROM EMPLOYEES2)
DISTINCT Distinct : Memilih 1 saja record-record yang berulang SELECT DISTINCT JOB_ID FROM EMPLOYEES
FUNCTION Sekumpulan syntax (kode) yang dapat dijalankan dan menghasilkan sebuah data baru CREATE [OR REPLACE] FUNCTION function_name [(parameter1 [mode1] datatype1, parameter2 [mode] datatype2, ...)] RETURN datatype IS|AS [local_variable_declarations; …] BEGIN -- actions; RETURN expression; END [function_name];
CONTOH FUNCTION CREATE OR REPLACE get_sal p_id IN (employees.employee_id%TYPE) p_increment IN (NUMBER := 1) RETURN NUMBER IS v_sal employees.salary%TYPE:=0; BEGIN SELECT salary * p_increment INTO v_sal FROM employees WHERE employee_id = p_id; RETURN v_sal; END get_sal;
PENJELASAN employees.employee_id%TYPE (Gunakan type data yang sama dengan kolom employee_id pada tabel employees) NUMBER := 1) berarti nilai defaultnya = 1
GUNAKAN FUNCTION SELECT last_name, employee_id, salary, get_sal(employee_id, 1.4) “Proposed Salary” From employees
Latihan 1. Tampilkan nama pertama, email dan gaji pegawai yang memiliki nama depan berawalan Dwiatau berakhiran watidan memiliki domain email baik di yahoo.com, gmail.com, hotmail.com maupun eepis-its.edu. Tampilkan menurut abjad nama pertama. 2.Tampilkan nomor departemen, rata-rata gaji dan total gaji pegawai untuk tiap-tiap manager departemen yang memimpin. 3.Tampilkan nomor departemen, rata-rata gaji dan total gaji setahun pegawai untuk tiap-tiap manager departemen yang memimpin, dan yang memiliki total gaji setahun tadi > 50 juta, serta nama belakang manager mengandung kata sal.