use hr;
-- 1. 모든 사원의 이름(FIRST_NAME, LAST_NAME)을 조회하라.
처음 | 끝 |
---|---|
select e.last_name 성, e.first_name 이름 from employees e;
-- 2. 모든 사원의 모든 정보를 조회하라.
select * from employees;
-- 3. 모든 도시 명을 조회하라.
select l.city 도시명 from locations l;
-- 4. 이름(FIRST_NAME)이 M 으로 시작하는 사원의 모든 정보를 조회하라.
select * from employees e where e.first_name like 'M%';
-- 5. 이름(FIRST_NAME)의 두 번째 글자가 'a'인 사원의 이름(FIRST_NAME)과 연봉을 조회하라.
select e.first_name 이름, e.salary 연봉 from employees e where e.first_name like '%a%';
-- 6. 도시 명을 오름차순 정렬하라.
select l.city 도시명 from locations l order by l.city asc;
-- 7. 부서 명을 내림차순 정렬하라.
select d.department_name 부서명 from departments d order by d.department_name desc;
-- 8. 연봉이 7000 이상인 사원들의 모든 정보를 연봉순(오름차순)으로 정렬하라.
처음 | 끝 |
---|---|
select * from employees e where e.salary >= 7000 order by e.salary asc;
-- 9. 인센티브(COMMISSION_PCT)를 받지 않는 사원들의 모든 정보를 조회하라.
select *
from employees e
where e.commission_pct is null;
-- 10. 인센티브(COMMISSION_PCT)를 받는 사원들의 모든 정보를 조회하라.
select *
from employees e
where e.commission_pct is not null;
-- 11. 2007년 06월 21일에 입사한 사원의 사원번호, 이름(FIRST_NAME, LAST_NAME) 그리고 부서번호를 조회하라.
select e.employee_id 사원번호, e.last_name + ' ' + e.first_name 이름, e.department_id from employees e where e.hire_date = '1997-10-30';
-- 12. 2006년에 입사한 사원의 사원번호와 입사일을 조회하라.
select e.employee_id 사원번호, e.hire_date 입사일 from employees e where year(e.hire_date) = '1997';
-- 13. 이름(FIRST_NAME)의 길이가 5글자 이상인 사원을 조회하라.
select * from employees e where len(e.first_name) = 5;
-- 14. 부서번호별 사원수를 조회하라. (부서번호 오름차순 정렬)
select e.department_id 부서번호, count(*) 사원수 from employees e group by e.department_id order by e.department_id asc;
-- 15. 직무 아이디별 평균 연봉을 조회하라. (직무 아이디 내림차순 정렬)
select e.job_id 직무아이디, avg(e.salary) 평균연봉 from employees e group by e.job_id order by e.job_id desc;
-- 16. 상사가 있는 사원들의 모든 정보를 조회하라.
select * from employees e, employees m where e.manager_id = m.employee_id;
-- 17. 상사가 없는 사원들의 모든 정보를 조회하라.
select * from employees e where e.manager_id is null;
-- 18. 모든 사원들의 사원번호, 이름(FIRST_NAME, LAST_NAME), 부서번호 그리고 부서명을 조회하라.
select e.employee_id 사원번호, e.last_name + ' ' + e.first_name 이름, d.department_id 부서번호, d.department_name 부서명 from employees e, departments d where e.department_id = d.department_id;
-- 19. 모든 부서의 부서명과 도시명을 조회하라.
select d.department_name 부서명, l.city 도시명 from departments d, locations l where d.location_id = l.location_id;
-- 20. 모든 사원들의 사원번호, 부서명, 직무명을 조회하라.
select e.employee_id 사원번호, isnull(d.department_name,'<none>') 부서명, isnull(j.job_title,'<none>') 직무명 from employees e, departments d, jobs j where e.department_id = d.department_id and e.job_id = j.job_id;
--- 부서명이 없는 사람의 경우엔?