-- 문제1) 사원들의 이름, 부서번호, 부서명을 출력하라
-- 문제2) 30번 부서의 사원들의 이름,직업,부서명을 출력하라
-- 문제3) 커미션을 받는 사원의 이름, 직업, 부서번호,부서명을 출력하라
-- 문제4) 지역번호 2500 에서 근무하는 사원의 이름, 직업,부서번호,부서명을 출력하라
-- 문제5) 이름에 A가 들어가는 사원들의 이름과 부서이름을 출력하라
-- 문제6) 사원이름과 그 사원의 관리자 이름을 출력하라
-- 문제7) 사원이름과 부서명과 월급을 출력하는데 월급이 3000 이상인 사원을 출력하라
-- 문제8) TJ 이란 사원보다 늦게 입사한 사원의 이름과 입사일을 출력하라
-- cross join
-- 문제9) 급여가 3000에서 5000사이인 사원의 이름과 소속부서명 출력하라
-- 문제10) ACCOUNTING 부서 소속 사원의 이름과 입사일 출력하라
-- 문제11) 급여가 3000이하인 사원의 이름과 급여, 근무지를 출력하라
-- 문제1) 사원들의 이름, 부서번호, 부서명을 출력하라
select e.first_name , e.department_id , d.department_name
from employees e
inner join departments d
on e.department_id = d.department_id ;
-- 문제2) 30번 부서의 사원들의 이름,직업,부서명을 출력하라
select e.first_name ,j.job_title , d.department_name
from employees e
inner join departments d
on e.department_id = d.department_id
inner join jobs j
on e.job_id = j.job_id
where e.department_id = 30;
-- 문제3) 커미션을 받는 사원의 이름, 직업, 부서번호,부서명을 출력하라
select e.first_name ,j.job_title ,e.department_id , d.department_name
from employees e
inner join departments d
on e.department_id = d.department_id
inner join jobs j
on e.job_id = j.job_id
where commission_pct is not null;
-- 문제4) 지역번호 2500 에서 근무하는 사원의 이름, 직업,부서번호,부서명을 출력하라
select e.first_name ,j.job_title ,e.department_id , d.department_name
from employees e
inner join departments d
on e.department_id = d.department_id
inner join jobs j
on e.job_id = j.job_id
inner join locations l
on d.location_id = l.location_id
where l.location_id = 2500;
-- 문제5) 이름에 A가 들어가는 사원들의 이름과 부서이름을 출력하라
select e.first_name , d.department_name
from employees e
inner join departments d
on e.department_id = d.department_id
where first_name like '%A%';
-- 문제6) 사원이름과 그 사원의 관리자 이름을 출력하라
select e.first_name , e2.first_name
from employees e
inner join employees e2
on e.manager_id = e2.employee_id;
-- 문제7) 사원이름과 부서명과 월급을 출력하는데 월급이 3000 이상인 사원을 출력하라
select e.first_name ,j.job_title , d.department_name
from employees e
inner join departments d
on e.department_id = d.department_id
inner join jobs j
on e.job_id = j.job_id
where e.salary >= 3000;
-- 문제8) TJ 이란 사원보다 늦게 입사한 사원의 이름과 입사일을 출력하라
-- cross join
select e.first_name , e.hire_date
from employees e
join employees e2
on e2.first_name ='TJ'
where e.hire_date > e2.hire_date ;
-- 문제9) 급여가 3000에서 5000사이인 사원의 이름과 소속부서명 출력하라
select e.first_name , d.department_name
from employees e
inner join departments d
on e.department_id = d.department_id
where salary >= 3000
and salary <= 5000;
-- 문제10) ACCOUNTING 부서 소속 사원의 이름과 입사일 출력하라
select e.first_name , e.hire_date
from employees e
inner join departments d
on e.department_id = d.department_id
where d.department_name = 'ACCOUNTING';
-- 문제11) 급여가 3000이하인 사원의 이름과 급여, 근무지를 출력하라
select e.first_name, e.salary , l.street_address
from employees e
inner join departments d
on e.department_id = d.department_id
inner join locations l
on d.location_id = l.location_id
where salary <= 3000;
'백엔드 > DB' 카테고리의 다른 글
| [MariaDB] MariaDB 학습 - 데이터 입력 (0) | 2023.07.10 |
|---|---|
| [MariaDB] MariaDB 학습 - 실습문제 - 서브쿼리 (0) | 2023.07.10 |
| [MariaDB] MariaDB 학습 - 서브쿼리 (0) | 2023.07.10 |
| [MariaDB] MariaDB 학습 - 조인 (0) | 2023.07.10 |
| [MariaDB] MariaDB 학습 - 키와 제약조건 (0) | 2023.07.10 |