Tham khảo tài liệu bài tập thực hành oracle 9i (bài số 2) , công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | BÀI THỰC HÀNH SỐ 5 – ORACLE (Hàm nhóm dữ liệu) 1. Hiển thị mức lương cao nhất, thấp nhất, trung bình và tổng số những nhân viên mà cụm từ ‘REP’ có trong job_id . 2. Hiển thị ngày vào làm việc xa nhất và gần nhất của nhân viên. Select maxhire_date),min(hire_date) From employees; 3. Cho biết tổng số nhân viên có id của department là 50. Select count(employee_id) From employees Where department_id =50; 4. Cho biết số nhân viên cuả department_id 80 có được commission_pct. Select count(employee_id) From employees Where department_id =80 and commission_pct is not null ; 5. Cho biết commission_pct trung bình cuả các nhân viên. Select avg(commission_pct) From employees; Select avg(commission_pct) From employees Where commission_pct is not null ; 6. Cho biết commission_pct trung bình cuả tất cả nhân viên (những nhân viên không có commission_pct thì tính là 0) . Select avg(nvl(commission_pct,0)) From employees; 7. Hiển thị department_id, mức lương trung bình (mức lương trung bình tính dựa theo department_id). Select department_id,avg(salary) From employees Group by department_id; 8. Như câu 7 nhưng yêu cầu sắp xếp theo thứ tự tăng dần theo mức lương trung bình. Select department_id,avg(salary) luongtb From employees Group by department_id Order by avg(salary) asc ; 9. Chọn ra department_id, mức lương trung bình tính dựa theo department_id, với điều kiện: lương cao nhất phải lớn hơn 5000.(nhóm nào có luong cao nhất mà không qua 5000 thì không tính) Select department_id,avg(salary) luongtb From employees Group by department_id Having max(salary)>5000; (điều kiện trong mỗi nhóm đã group by_làm giảm số nhóm) Order by avg(salary) asc ; 9’. Chọn ra department_id, mức lương trung bình tính dựa theo department_id, với điều kiện: lương trung binh phải lớn hơn 5000 10. Chọn ra department_id, lương cao nhất tính dựa theo department_id, với điều kiện: lương cao nhất phải lớn hơn 8000. Select department_id,max(salary) From employees Group by department_id Having max(salary)>8000 Order by avg(salary) asc ; 11. Liệt kê job_id, tổng lương tính dưạ theo job_id với điều kiện: - Job_id không có cụm từ ‘REP’ - Tổng lương lớn hơn 12000 - Sắp xếp giảm dần theo tổng lương - Select job_id,sum(salary) tongluong From employees Where job_id NOT LIKE ‘%REP%’ Group by job_id Having sum(salary)>12000 Order by sum(salary) desc; select job_id,sum(salary) from employees group by job_id having job_id not like '%REP%' and sum(salary)>12000 order by sum(salary) desc; 12. Hiển thị mức lương trung bình cao nhất tính dựa theo department_id. Select max(avg(salary)) From employees Group by department_id;