1. 급여가 10000 이상인 사원의 사번, 부서번호, 이름, 급여, 수당을 출력하시오.단, 부서번호가
30 번,60 번, 90 번인 부서는 제외하고 사원을 검색한다--15건
SELECT employee_id 사번, department_id 부서번호, first_name 이름, salary 급여, commission_pct 수당
FROM employees
WHERE salary>10000 AND NOT(department_id=30 OR department_id=60 OR department_id=90);
salary>=10000 AND department_id NOT IN (30, 60, 90);
2.급여가 4000 보다 많은 사원들의 부서별 급여평균를 출력하시오. 단 급여평균은 소숫점이하 2 자리에서 반올림(소숫점이하1자리까지 표현)한다 --12건
SELECT department_id, ROUND(AVG (salary),1)
FROM employees
WHERE salary > 4000
GROUP BY department_id;
3. 부서배치를 받지 않은 사원은 제외하고 급여평균이 10000 이상인 부서별 급여평균을 출력하시오. --3건
SELECT department_id, AVG(salary)
FROM employees
WHERE department_id IS NOT NULL
GROUP BY department_id;
HAVING AVG(salary) >=10000;
SELECT AVG(salary) 급여평균
FROM employees
WHERE AVG(salary) >=10000
GROUP BY department_id;
HAVING department_id IS NOT NULL
4. 'Seattle', 'Toronto'도시에 근무하는 사원들의 근무도시명,사번, 이름, 부서 ID, 부서명 을 출력하시오
SELECT department_id 사번, first_name 이름, e.department_id 부서 ID, department_name 부서명
FROM employees e
JOIN departments d ON (e.department_id = d.department_id)
JOIN locations l ON (d.location_id = l.location_id)
WHERE l.city IN ('Seattle', 'Toronto');
-department_id 가 employees와 department에 있으므로 e와 d 둘다 가능하고 어느 테이블에서 불러올지 설정해주어야함.
SELECT department_id 사번, first_name 이름, department_id, departm
FROM locations l
JOIN departments d ON ()
WHERE INSTR(city)
5. 성(last_name)이 'Davies'인 사원과 같은 부서에 근무하는 사원들의 사번, 성, 이름을 출력하시오
Davies는 제외하고 출력한다 --44건
SELECT e.employee_id, e.last_name, e.first_name
FROM employees e JOIN employees d ON (e.department_id = d.department_id)
WHERE d.last_name = 'Davies' AND e.last_name<> 'Davies' ;