Nama : Rizky Alamsyah B Npm : 21082010249 Kelas : F
SOAL PRAKTEK MODUL 6
1. Tampilkan nama pegawai yang memiliki department_ID yang sama dengan departemen IT
2. Tampilkan department_name yang memiliki location_id yang sama dengan kota Seattle
3. Tampilkan semua pegawai yang memiliki gaji lebih besar daripada gaji Lorentz (last_name) DAN pegawai tersebut berada di departemen yang sama dengan Abel (last_name)
4. Tampilkan department_id dan rata-rata salary, dimana rata-rata salary yang ditampilkan lebih besar daripada gaji Ernst (last_name).
5. Tuliskan query berikut kemudian jelaskan maksud dari query tersebut a. SELECT last_name FROM employees
WHERE salary = ANY
(SELECT MIN(salary) FROM employees GROUP BY department_id);
Yang ditampilkan oleh query tersebut adalah last_name dari nama pegawai/employee dimana mereka memiliki salary minimum pada tiap department_id.
b. SELECT first_name, last_name FROM employees
WHERE salary <= ALL (SELECT salary FROM employees):
Yang ditampilkan oleh query tersebut adalah first_name dan last_name dari employee yang memiliki salary paling rendah dari semua employee pada tabel HR.employees.
6. Query berikut ini untuk menampilkan gaji minimum untuk masing-masing pegawai yang gaji minimumnya kurang dari gaji terendah dari pegawai di department_id 50. Namun query tersebut tidak dapat dieksekusi karena terdapat lima kesalahan. Temukan kesalahan-kesalahan tersebut dan perbaiki query-nya.
SELECT department_id FROM employees
WHERE MIN(salary) HAVING MIN(salary) >
GROUP BY department_id SELECT MIN(salary) WHERE department_id < 50
1) Kesalahan pertama yang pertama yaitu tidak menggunakan perintah SELECT pada MIN(salary)
2) Kesalahan ke-dua yaitu penggunaan WHERE MIN(salary) yang seharusnya tidak digunakan
3) Kesalahan ke-tiga yaitu letak GROUP BY department_id yang salah
4) Kesalahan ke-empat yaitu kurangnya perintah FROM employees/hr.employees pada subquery.
5) Kesalahan terakhir yaitu tanda “=” yang salah pada department_id, seharusnya
“<”