본문 바로가기
코딩연습/오라클

[SQL]SELECT문

by 호아니 2020. 9. 10.

--1. job_id가 'IT_PROG'이거나 연봉이 4000달러 이하인 사원을 출력
select job_id,salary 
from employees 
where job_id='IT_PROG' or salary<=4000;
--2. 20번 부서 사원들의 last_name, salary, department_id 출력
select last_name, salary, department_id 
from employees 
where department_id=20;
--3. commission을 받지 않는 사원들의 last_name, salary, commission_pct 출력
select last_name, salary, commission_pct 
from employees 
where commission_pct is null;
--4. commission을 받는 사원들의 last_name, salary, commission_pct 출력
select last_name, salary, commission_pct 
from employees 
where commission_pct is not null;
--5. salary가 10000달러 이상 20000달러 이하인 모든 사원의 last_name, salary출력
select last_name, salary 
from employees 
where 10000<=salary and salary<=20000;
select last_name, salary 
from employees 
where salary between 10000 and 20000;

--6. job_id가 'ST'로 시작하는 모든 사원의 last_name, job_id 출력
select last_name, job_id 
from employees 
where job_id like 'ST%';

--7. job_id가 'REP'로 끝나는 모든 사원의 last_name, job_id 출력
select last_name, job_id 
from employees 
where job_id like '%REP';
--
select last_name, job_id 
from employees 
where job_id like '%' || UPPER('rep');

--8. job_id가 'C'가 들어간 모든 사원의 last_name, job_id 출력
select last_name, job_id 
from employees 
where job_id like '%'|| UPPER('C')||'%';

--9. email의 두번째 알파벳에 'K'가 들어간 모든 사원의 last_name, email 출력
select last_name, email 
from employees 
where email like '_K%';

--10. salary가 10000달러 이상이며 job_id에 문자열 'MAN'이 
--포함된 사원의 last_name, salary, job_id 출력
select last_name, salary, job_id 
from employees 
where salary>=10000 and job_id like '%MAN%';

--11. salary가 10000달러 이상이거나 job_id에 문자열 'MAN'이 
--포함된 사원의 last_name, salary, job_id 출력
select last_name, salary, job_id 
from employees 
where salary>=10000 or job_id like '%MAN%';

--12. job_id가 IT_PROG, ST_CLERK, SA_REP에 속하지 않은 사원의 last_name, job_id 출력
select last_name, job_id 
from employees 
where job_id NOT IN('IT_PROG','ST_CLERK','SA_REP');
-- where joi_id<>'IT_PROG' and job_id<>'ST_CLERK' and job_id<>'SA_REP'

--13. commission_pct가 null이 아닌 사원들의 last_name, commission_pct 출력
select last_name, commission_pct 
from employees 
where commission_pct is not null;
--14. job_id가 ST_CLERK 또는 SA_REP이면서 급여가 2500,3500,7000이 아닌 
--모든 사원의 last_name, job_id, salary 출력
select last_name, job_id, salary 
from employees 
where (job_id='ST_CLERK' or job_id='SA_REP') 
and salary NOT IN(2500,3500,7000);
--15. 회사의 모든 사원들의 last_name, salary를 salary의 내림차순으로 출력, salary가 같은 경우 last_name의 오름차순으로 출력
select last_name,salary 
from employees 
order by salary desc,last_name asc;