SQL 1일차 실습 문제 (SELECT)
EX1. 급여가 $10000를 넘는 사원의 이름 및 급여를 표시하는 질의를 작성하시오.
select last_name, salary
from emp
where salary >= 10000 ;
EX2. 사원의 번호가 100인 사원의 이름 및 부서 번호를 표시하는 질의를 작성하시오.
select last_name, depatment_id
from emp
where EMPLOYEE_ID = 100 ;
EX3. 급여가 $15000 이상 ~ $22000 이하의 범위에 속하지 않는
모든 사원의 이름 및 급여를 표시하는 질의를 작성하시오.
select last_name, salary
from emp
where salary not between 15000 and 22000
order by 2 ;
EX4. 2004년 2월 2일 ~ 2004년 5월 1일에 입사한
사원 이름, 직위 및 시작일을 표시한다.
시작일을 기준으로해서 오름차순 정렬한다.
select last_name, job_id, hire_date
from emp
where hire_date between '2004-02-02' and '2004-05-01'
order by 3 ;
EX5. 부서 10및 30에 속하는 모든 사원의 이름 및 부서 번호를
이름을 기준으로 해서 영문자순으로 표시한다.
select last_name, department_id
from emp
where department_id in (10, 30 )
order by 1 ;
EX6. 부서 10 또는 30에 속하는 사원 중 급여가 $5000를 넘는
사원의 이름 및 급여를 표시하도록 하며,
EMPLOYEE 및 MONTHLY SALARY 으로 이름을 바꾸시오.
select last_name as "EMPLOYEE" , salary as "MONTHLY SALARY"
from emp
where department_id in (10,30) and salary >= 5000 ;
EX7. 2004년에 입사한 모든 사원의 이름 및 입사일을 표시한다.
select last_name, hire_date
from emp
where hire_date between '2004-01-01' and '2004-12-31' ;
select last_name, hire_date
from emp
where extract(year from hire_date ) = 2004 ;
select last_name, hire_date
from emp
where to_char( hire_date, 'yyyy') = '2004' ;
EX8. 관리자가 없는 모든 사원의 이름 및 직위를 표시한다.
select last_name, job_id
from emp
where manager_id is null ;
EX9. 커미션을 받는 모든 사원의 이름, 급여 및 커미션을
급여 및 커미션을 기준으로 해서 내림차순 정렬하시오.
select last_name, salary, commission_pct
from emp
where commission_pct is null
order by 2 desc, 3 desc ;
EX10. 이름의 세 번째 문자가 A인 모든 사원의 이름을 표시한다.
select last_name
from emp
where last_name like '__A%' or last_name like '__a%';
EX11. 이름에 s가 두 번 들어가며 부서 50 또는 80에 속한 모든 사원의 이름을 표시한다.
SELECT LAST_NAME
FROM EMP
WHERE DEPARTMENT_ID IN (50,80) AND lower(LAST_NAME) LIKE '%s%s%';
EX12. 업무가 CLERK 면서 급여가 $1000, 3000, $5000가 아닌
모든 사원의 이름, 직무 및 급여를 표시한다.
select last_name, job_id, salary
from emp
where salary not in ( 1000,3000, 5000 )
and job_id like '%CLERK' ;
EX13. 커미션과 급여의 합계가 10% 인상된 급여보다 많은
모든 사원의 이름, 급여 및 커미션을 표시하도록 한다.
select last_name, salary, COMMISSION_PCT
select last_name, salary, salary * nvl( COMMISSION_PCT, 0)
from emp
where salary + ( salary * nvl(COMMISSION_PCT, 0)) > salary + ( salary * 0.1 ) ;
'데이터베이스(SQL)' 카테고리의 다른 글
데이터베이스 3일차_조인(oracle, sql) (0) | 2021.05.03 |
---|---|
데이터베이스 3일차_다중행함수(oracle, sql) (0) | 2021.05.03 |
데이터베이스 2일차_sql 검색, 단일행함수(2)(oracle, sql) (0) | 2021.05.03 |
데이터베이스 2일차_sql 검색, 단일행함수(oracle, sql) (0) | 2021.05.03 |
데이터베이스 1일차_(oracle, sql) (0) | 2021.05.03 |