#DB. SELECT 연습문제(3)

gisung2215·2020년 10월 20일
0

👍 DB 개념정리

목록 보기
10/10
post-thumbnail
-- -----------------------------------------------------
-- SELECT 연습문제
-- -----------------------------------------------------

-- 모든 사원의 모든 정보 검색.
select  *
from employees;

-- 사원이 근무하는 부서의 부서번호 검색.
select department_id
from employees;

-- 사원이 근무하는 부서의 부서번호 검색.(중복제거)
select distinct department_id
from employees;

-- 회사에 존재하는 모든 부서.
select distinct department_name
from departments;

-- 모든 사원의 사번, 이름, 급여 검색.
select employee_id, first_name, salary
from employees;

-- 모든 사원의 사번, 이름, 급여, 급여 * 12 (연봉) 검색.
select employee_id, first_name, salary, salary*12 연봉
from employees;

select *
from employees;
-- 모든 사원의 사번, 이름, 급여, 급여 * 12 (연봉), 커미션, 커미션포함 연봉 검색.
select employee_id, first_name, salary, salary*12 연봉, commission_pct,
		(salary + salary*commission_pct)*12 '커미션포함 연봉'
from employees;

select employee_id, first_name, salary, salary*12 연봉, commission_pct,
		(salary + salary*ifnull(commission_pct,0))*12 '커미션포함 연봉'
from employees;
-- 모든 사원의 사번, 이름, 급여, 급여에 따른 등급표시 검색.
-- 급여에 따른 등급
--   15000 이상 “고액연봉“      
--   8000 이상 “평균연봉”      
--   8000 미만 “저액연봉"
select employee_id, first_name, salary, 
	case when salary > 15000
		then '고액연봉'
                when salary>8000
                then  '평균연봉'
                else '저액연봉'
			end 연봉등급
from employees;
            
-- 부서번호가 50인 사원중 급여가 7000이상인 사원의
-- 사번, 이름, 급여, 부서번호
select employee_id, first_name, salary, department_id
from employees
where department_id = 50 
and salary> 7000;

-- 근무 부서번호가 50, 60, 70에 근무하는 사원의 사번, 이름, 부서번호
select employee_id, first_name, department_id
from employees
where department_id in(50,60,70);

-- 근무 부서번호가 50, 60, 70이 아닌 사원의 사번, 이름, 부서번호
select employee_id, first_name, department_id
from employees
where department_id not in(50,60,70);

-- 급여가 6000이상 10000이하인 사원의 사번, 이름, 급여
select employee_id, first_name, department_id, salary
from employees
where salary between 6000 and 10000;

-- 근무 부서가 지정되지 않은(알 수 없는) 사원의 사번, 이름, 부서번호 검색.
select employee_id, first_name, department_id
from employees
where department_id is null;

-- 커미션을 받는 사원의 사번, 이름, 급여, 커미션
select employee_id, first_name, salary, commission_pct
from employees
where commission_pct is not null;

-- 이름에 'x'가 들어간 사원의 사번, 이름
select employee_id, first_name
from employees
where first_name like '%x%';

-- 이름의 끝에서 3번째 자리에 'x'가 들어간 사원의 사번, 이름
select employee_id, first_name
from employees
where first_name like '%x__';

-- 모든 사원의 사번, 이름, 급여
-- 단 급여순 정렬(내림차순)
select employee_id, first_name, salary
from employees
order by salary desc;

-- 50, 60, 70에 근무하는 사원의 사번, 이름, 부서번호, 급여
-- 단, 부서별 정렬(오름차순) 후 급여순(내림차순) 검색
select employee_id, first_name, salary
from employees
order by department_id, salary desc;

0개의 댓글