7.
3번 문제를 수정해서, 평균급여보다 많은 급여를 받고, 이름에 u가 포함된 
사원과 같은 부서에서 근하는 사원의 사번,이름,급여를 찾아라.
평균급여가 뭐냐? -> 서브쿼리
select avg(salary) from employees
이름에 u가 포함된 사원의 부서번호가 뭐냐? -> 서브쿼리
select department_id from employees where last_name like '%u%'
메인쿼리
select employee_id, last_name, salary from employees
where salary > (select avg(salary) from employees) and 
department_id in(select department_id from employees
where last_name like '%u%');

6.
부서이름이 Executive인 부서에 근무하는 사원의 이름,업무코드,부서번호를 찾아라.
부서이름이 Executive인 부서의 부서번호가 뭐냐? -> 서브쿼리 -> 결과 N건
select department_id from departments where department_name = 'Executive'
메인쿼리
select last_name, job_id, department_id from employees
where department_id in(select department_id from departments 
where department_name = 'Executive');

5.
King의 부하직원의 이름과 급여를 찾아라.
King의 사번이 뭔가? -> 서브쿼리 -> 결과가 2건 : 중복행 서브쿼리
--> King의 사번을 관리자 사번으로 갖는 사원이 King의 부하직원
select employee_id from employees where last_name = 'King'
메인쿼리
select last_name, salary from employees
where manager_id in (select employee_id from employees
where last_name = 'King');

4.
부서위치번호가 1700인 부서에 근무하는 사원의 이름, 부서번호를 찾아라.
-> 부서위치번호가 1700인 부서번호가 뭐냐?
서브쿼리 : select department_id from departments where location_id = 1700
주의사항: 서브쿼리의 결과가 여러건일 수 있다.(다중행 서브쿼리) 
in,any,all 중의 하나를 사용해야 한다.

select last_name, department_id, job_id from employees
where department_id in (select department_id from departments
where location_id = 1700);

3.
이름에 u가 포함된 사원과 같은 부서에있는 사번, 이름을 찾아라.
-> 이름에 u가 포함된 사원의 부서번호가 뭐냐? 
서브쿼리 : select department_id from employees  where last_name like '%u%'
주의사항: 서브쿼리의 결과가 여러건이다.(다중행 서브쿼리) 
따라서, 다중행서브쿼리에 사용하는 연산자를 사용해야한다.(in,any,all 중의 하나)
메인쿼리 : select employee_id, last_name from employees
 where department_id in (서브쿼리)

select employee_id, last_name from employees
where department_id in(select department_id from employees 
where last_name like '%u%');

2.
급여가 평균급여 보다 많은 사원의 사번, 이름을 찾아라. 그리고, 
오름차순으로 정렬해라.
-> 평균급여가 뭐냐? -> 서브쿼리
서브쿼리 : select avg(salary) from employees
메인쿼리 : select employee_id, last_name from employees
 where salary > (서브쿼리) order by salary

select employee_id, last_name from employees
where salary > (select avg(salary) from employees) order by salary;

1. 
Zlotkey와 동일한 부서에 근무하는 사원의 이름과 입사일을 찾아라.
-> Zlotkey의 부서번호가 뭐냐? -> 서브쿼리
서브쿼리 : select department_id from employees
 where last_name = 'Zlotkey'
메인쿼리 : select last_name, hire_date from employees
 where department_id = (서브쿼리의 결과) and
 last_name <> 'Zlotkey'

select last_name, hire_date, department_id from employees 
where department_id = (select department_id from employees
where last_name = 'Zlotkey') and  last_name <> 'Zlotkey';

Posted by webpage
,