[MSSQL] hr SQL 연습2 100문제 (1~20번)

prana·2022년 12월 1일
0

MSSQL

목록 보기
5/6

use hr;

1~10번 문제

1번 문제

-- 1. 모든 사원의 이름(FIRST_NAME, LAST_NAME)을 조회하라.

처음
select e.last_name 성, e.first_name 이름
from employees e;

2번 문제

-- 2. 모든 사원의 모든 정보를 조회하라.

select * from employees;

3번 문제

-- 3. 모든 도시 명을 조회하라.

select l.city 도시명 from locations l;


4번 문제

-- 4. 이름(FIRST_NAME)이 M 으로 시작하는 사원의 모든 정보를 조회하라.

select *
from employees e
where e.first_name like 'M%';

5번 문제

-- 5. 이름(FIRST_NAME)의 두 번째 글자가 'a'인 사원의 이름(FIRST_NAME)과 연봉을 조회하라.

select e.first_name 이름, e.salary 연봉
from employees e
where e.first_name like '%a%';

6번 문제

-- 6. 도시 명을 오름차순 정렬하라.

select l.city 도시명
from locations l
order by l.city asc;

7번 문제

-- 7. 부서 명을 내림차순 정렬하라.

select d.department_name 부서명
from departments d
order by d.department_name desc;

8번 문제

-- 8. 연봉이 7000 이상인 사원들의 모든 정보를 연봉순(오름차순)으로 정렬하라.

처음
select *
from employees e
where e.salary >= 7000
order by e.salary asc;

9번 문제

-- 9. 인센티브(COMMISSION_PCT)를 받지 않는 사원들의 모든 정보를 조회하라.

select *
from employees e
where e.commission_pct is null;


10번 문제

-- 10. 인센티브(COMMISSION_PCT)를 받는 사원들의 모든 정보를 조회하라.

select *
from employees e
where e.commission_pct is not null;


11~20번 문제

11번 문제

-- 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번 문제

-- 12. 2006년에 입사한 사원의 사원번호와 입사일을 조회하라.

select e.employee_id 사원번호, e.hire_date 입사일
from employees e
where year(e.hire_date) = '1997';

13번 문제

-- 13. 이름(FIRST_NAME)의 길이가 5글자 이상인 사원을 조회하라.

select *
from employees e
where len(e.first_name) = 5;

14번 문제

-- 14. 부서번호별 사원수를 조회하라. (부서번호 오름차순 정렬)

select e.department_id 부서번호, count(*) 사원수
from employees e
group by e.department_id
order by e.department_id asc;

15번 문제

-- 15. 직무 아이디별 평균 연봉을 조회하라. (직무 아이디 내림차순 정렬)

select e.job_id 직무아이디, avg(e.salary) 평균연봉
from employees e
group by e.job_id
order by e.job_id desc;

16번 문제

-- 16. 상사가 있는 사원들의 모든 정보를 조회하라.

select * 
from employees e, employees m
where e.manager_id = m.employee_id;

17번 문제

-- 17. 상사가 없는 사원들의 모든 정보를 조회하라.

select * 
from employees e
where e.manager_id is null;

18번 문제

-- 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번 문제

-- 19. 모든 부서의 부서명과 도시명을 조회하라.

select d.department_name 부서명, l.city 도시명
from departments d, locations l
where d.location_id = l.location_id;

20번 문제

-- 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;

--- 부서명이 없는 사람의 경우엔?

0개의 댓글