SQL

SELECT - case, between, is null, like, order by

yujeong kang 2020. 10. 20. 23:31

- case

select employee_id, first_name, salary,
        case 	when salary > 15000
        	then '고액연봉'
        	when salary > 8000
        	then '평균연봉'
        	else '저액연봉'
        end "연봉등급"
from employees;

 

- between

select employee_id, first_name, salary
from employees
where salary between 6000 and 10000;

 

- is null

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

sql 에서 알 수 없는 값은 null 로 표시되고 null 값인지 확인할 때는 is 사용해야 한다!! 아래처럼!

select employee_id, first_name, salary
from employees
where department_id is null;

 

- like

-- 이름에 '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__';

 

- order by

-- 모든 사원의 사번, 이름, 급여
-- 단 급여순 정렬(내림차순)
select employee_id, first_name, salary
from employees
order by salary desc;
-- 사원의 사번, 이름, 부서번호, 급여
-- 단, 부서별 정렬(오름차순) 후 급여순(내림차순) 검색
select employee_id, first_name, department_id, salary
from employees
order by department_id, salary desc;