LiveSQL 사용, DB : HR Object and Data
KEYWORDS : 그룹 함수, AVG와 SUM 함수, MIN과 MAX 함수, COUNT 함수, GROUP 함수, HAVING 절
SELECT MAX(salary) Maximum, MIN(salary) Minimum, SUM(salary) Sum, ROUND(AVG(salary)) Average
FROM employees
SELECT job_id, MAX(salary) Maximum, MIN(salary) Minimum, SUM(salary) Sum, ROUND(AVG(salary)) Average
FROM employees
GROUP BY job_id
SELECT job_id, COUNT(job_id)
FROM employees
GROUP BY job_id
SELECT COUNT(manager_id) "Number of Managers"
FROM employees
SELECT (MAX(salary) - MIN(salary)) "DIFFERENCE"
FROM employees
SELECT manager_id, MIN(salary)
FROM employees
GROUP BY manager_id, salary
HAVING MIN(salary) > 6000
ORDER BY salary
select department_id "Name", count(department_id) "Number of People", ROUND(avg(salary),2) "Salary"
from employees
group by department_id
select count(employee_id) "total",
sum(decode(to_char(hire_date, 'YYYY'), 2005, 1, 0)) "2005",
sum(decode(to_char(hire_date, 'YYYY'), 2006, 1, 0)) "2006",
sum(decode(to_char(hire_date, 'YYYY'), 2007, 1, 0)) "2007",
sum(decode(to_char(hire_date, 'YYYY'), 2008, 1, 0)) "2008"
from employees
select job_id "job",
sum(decode(department_id, 20, salary)) "Dept 20",
sum(decode(department_id, 50, salary)) "Dept 50",
sum(decode(department_id, 80, salary)) "Dept 80",
sum(decode(department_id, 90, salary)) "Dept 90",
sum(salary) "total"
from employees
group by job_id