Anda di halaman 1dari 14

LAPORAN PRAKTIKUM

BASIS DATA LANJUTAN


SQL 3

Nama : Muhammad Ramadhan


NRP :3120600043
Kelas : 2 D4 ITB
1. Buat query untuk menampilkan nama dan gaji dari pegawai yang memiliki gaji lebih dari
$2850.
Jawab :
SELECT FIRST_NAME AS "ENAME", SALARY AS "SAL" FROM HR.EMPLOYEES WHERE
Salary>2850 ;
2. Buat query untuk menampilkan nama pegawai dan nomer departemen dari pegawai
tersebut untuk pegawai yang mempunyai nomer pegawai = 7566.
Jawab:
SELECT first_name||' '||last_name AS "NAME", department_id AS "dept_id"
FROM HR.EMPLOYEES WHERE EMPLOYEE_ID=7566 ;

Karena pada table hr employee id 7566 tidak ada, maka saya menggunakan employe id
=100 yang ada pada table hr.

SELECT first_name||' '||last_name AS "NAME", department_id AS "dept_id"


FROM HR.EMPLOYEES WHERE EMPLOYEE_ID = 100 ;
3. Tampilkan nama dan gaji untuk semua pegawai yang memiliki gaji yang tidak berada
dalam range antara $1500 sampai $2850.
Jawab:
SELECT first_name||' '||last_name AS "NAME",SALARY AS "SAL" FROM
HR.EMPLOYEES WHERE SALARY NOT BETWEEN 1500 AND 2850 ;
4. Tampilkan nama pegawai, pekerjaan dan tanggal mulai pegawai bekerja antara 20
February 1981 sampai 1 Mei 1981. Urutkan dengan urutan menaik pada kolom tgl mulai
kerja.
Jawab:
SELECT first_name||' '||last_name AS "NAME",HIRE_DATE AS "HIREDATE" FROM
HR.EMPLOYEES WHERE HIRE_DATE BETWEEN '20-FEB-81' AND '01-MAY-81' ORDER BY
HIRE_DATE;

Karena pada table hr di platform saya tidak ada hire date tahun 1981, maka saya mencoba
memasukkan hire date pada tahun 2005 seperti dibawah ini:
SELECT first_name||' '||last_name AS "NAME",HIRE_DATE AS "HIREDATE" FROM
HR.EMPLOYEES WHERE HIRE_DATE BETWEEN '20-FEB-05' AND '01-MAY-05'
ORDER BY HIRE_DATE;
5. Tampilkan nama pegawai dan nomer department dari semua pegawai dalam department
10 dan department 30 dalam urutan menaik berdasarkan nama
Jawab:
SELECT first_name||' '||last_name AS "NAME",department_id AS "dpt_id"
FROM HR.EMPLOYEES WHERE DEPARTMENT_ID IN(10,30)
ORDER BY NAME;
6. Tampilkan nama dan gaji pegawai yang memiliki gaji lebih dari $1500 dan bekerja pada
nomer department 10 atau 30. Beri judul kolom ‘Pegawai’ dan ‘Gaji Sebulan’
Jawab:
SELECT first_name||' '||last_name AS "Pegawai",SALARY AS "Gaji Sebulan"
FROM HR.EMPLOYEES WHERE DEPARTMENT_ID = 10 OR DEPARTMENT_ID = 30 AND
SALARY > 1500;
7. Tampilkan nama dan tanggal mulai kerja dari seorang pegawai yang mulai bekerja di
tahun 1982.
Jawab:
SELECT first_name||' '||last_name AS "ENAME",HIRE_DATE AS "HIREDATE" FROM
HR.EMPLOYEES
WHERE HIRE_DATE LIKE '_______82%';

Karena pada table hr di platform saya tidak ada hire date tahun 1982, maka saya mencoba
memasukkan hire date pada tahun 2002 yang ditandai dengan 02 seperti dibawah ini:
SELECT first_name||' '||last_name AS "ENAME",HIRE_DATE AS "HIREDATE" FROM
HR.EMPLOYEES
WHERE HIRE_DATE LIKE '_______02%';
8. Tampilkan nama, dan pekerjaan pegawai yang tidak mempunyai manager (nilai kolom mgr =
NULL
Jawab:
SELECT EMPLOYEES.first_name||' '||last_name AS "Pegawai",JOBS.JOB_TITLE
FROM HR.JOBS,HR.EMPLOYEES
WHERE MANAGER_ID is null;
9. Tampilkan nama, gaji dan komisi dari semua pegawai yang memiliki komisi (kolom komisi tidak
sama dengan NULL). Urutkan berdasarkan gaji dan komisi, dengan urutan menurun
Jawab:
SELECT first_name||' '||last_name AS "NAME",SALARY AS "SAL",
COMMISSION_PCT AS"COMM" FROM HR.EMPLOYEES
WHERE COMMISSION_PCT is not null
ORDER BY SALARY,COMMISSION_PCT DESC;
10. Tampilkan nama dari semua pegawai yang memiliki nama yang mengandung karakter ‘A’ pada
huruf ketiga.
Jawab:
SELECT first_name AS "NAME" FROM HR.EMPLOYEES WHERE FIRST_NAME LIKE
'__a%';
11. Tampilkan nama pegawai yang memiliki dua huruf ‘L’ pada namanya, dan bekerja di department
30, atau managernya = ‘7782’
Jawab:
SELECT first_name AS "NAME" FROM HR.EMPLOYEES WHERE FIRST_NAME LIKE
'%ll%' AND DEPARTMENT_ID=30 OR MANAGER_ID = 7782 ;
12. Tampilkan nama, pekerjaan, dan gaji dari semua pegawai yang memiliki pekerjaan ‘CLERK’ atau
‘ANALYST’ dan gajinya tidak sama dengan $1000, $3000 atau $5000.
Jawab:
SELECT EMPLOYEES.first_name||' '||last_name AS "Pegawai",JOBS.JOB_TITLE
AS "GAJI", EMPLOYEES.SALARY AS "SAL" FROM HR.JOBS,HR.EMPLOYEES
WHERE JOBS.JOB_TITLE='Stock Clerk' OR JOBS.JOB_TITLE='Programmer' AND
EMPLOYEES.SALARY NOT IN('1000','3000','5000') ;
13. Tampilkan nama, gaji, dan komisi dari semua pegawai yang memiliki jumlah komisi
lebih dari jumlah gaji setelah dinaikkan 10%,.
Jawab:
SELECT first_name||' '||last_name AS "NAME",SALARY AS "SAL",
COMMISSION_PCT AS"COMM" FROM HR.EMPLOYEES
WHERE COMMISSION_PCT >SALARY+0.1 *SALARY;

Dari database diatas diketahu bahwa tidak ada satupun pegawai yang memiliki jumlah
komisi lebih dari jumlah gaji setelah dinaikkan 10%,.

Anda mungkin juga menyukai