본문 바로가기
연습 문제

예제 따라가며 쉽게 배우는 오라클 연습 문제 p.61 ~ 62

by 알기 쉬운 코딩 사전 2022. 12. 30.
반응형

연습문제 sql은 모두 제가 직접 작성한 것이므로 오타, 오답이 존재할 수 있습니다.

궁금하신 점이 추가로 있을 시에는 문의하시면 최대한 답변드리겠습니다.

 

1. 사원 번호가 7499인 사원 중 이름, 입사일, 부서 번호를 출력하여라.

 

[답]

select ename, hiredate, deptno
from emp
where empno = 7499;

 

2. 이름이 ALLEN인 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where ename = 'ALLEN';

 

3. 이름이 K보다 큰 글자로 시작하는 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where ename > 'K';

 

4. 입사일이 02-APR-81보다 늦고 09-DEC-82보다 빠른 사원의 이름, 급여, 부서 번호를 출력하여라.

 

[답]

select ename, sal, deptno
from emp
where hiredate > '81/04/02' AND hiredate < '82/11/09';

 

5. 급여가 $1,600 보다 크고 $3,000보다 작은 사원의 이름, 직무, 급여를 출력하여라.

 

[답]

select ename, job, sal
from emp
where sal > 1600 AND sal < 3000;

 

6. 입사일이 81년 이외에 입사한 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where hiredate like '81%';

 

7. 직업이 MANAGER와 SALESMAN인 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where job = 'MANAGER' OR job = 'SALESMAN';

 

8. 부서 번호가 20번, 30번을 제외한 모든 사원의 이름, 사원 번호, 부서 번호를 출력하여라.

 

[답]

select ename, empno, deptno
from emp
where not (deptno = 20 or deptno = 30);

 

9. 이름이 S로 시작하는 사원의 사원 번호, 이름, 입사일, 부서 번호를 출력하여라.

 

[답]

select empno, ename, hiredate, deptno
from emp
where ename like 'S%';

 

10. 입사일이 81년도인 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where NOT (hiredate LIKE '81%');

 

11. 이름 중 S자가 들어가 있는 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where ename like '%S%';

 

 

12. 이름이 S자로 시작하고 마지막 글자가 T인 사원의 모든 정보를 출력하여라 (단, 이름은 전체 5자리이다.)

 

[답]

select *
from emp
where ename like 'S___T';

 

13. 처음의 글자는 관계없고 두 번째 글자가 A인 사원의 모든 정보를 출력하여라. (이름의 처음 글자는 관계없고 두 번째 글자가 A인 사원의 모든 정보를 출력하여라.)

 

[답]

select *
from emp
where ename like '_A%';

 

14. 커미션이 NULL이 아닌 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where not (comm IS NULL);

select *
from emp
where comm is not null;

 

15. 급여가 $1,500 이상이고, 부서 번호가 30번인 사원 중 직무가 MANAGER인 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where sal >= 1500 AND deptno = 30 AND job = 'MANAGER';

 

16. 부서 번호가 30인 사원들의 모든 정보를 사원 번호 순으로 정렬하여라.

 

[답]

select *
from emp
where deptno = 30
order by empno asc;

select *
from emp
where deptno = 30
order by empno;

 

17. 사원의 모든 정보를 부서 번호에 대해 내림차순으로 정렬하고 이름에 대해 오름차순으로, 급여에 대해 내림차순으로 정렬하여라.

 

[답]

select *
from emp
order by deptno desc, ename asc, sal desc;

 

18. 부서 번호가 10번인 사원의 사원 번호, 이름, 급여를 출력하여라.

 

[답]

select empno, ename, sal, comm
from emp
where deptno = 10
order by comm, empno desc;

 

19. 직무가 MANAGER가 아닌 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where NOT job = 'MANAGER';

 

20. 1981년 4월 2일 이후에 입사한 사원의 정보를 출력하여라.

 

[답]

select *
from emp
where hiredate > '81/04/02';

 

21. 사원번호가 7698보다 작거나 같은 사원들의 사원번호와 이름을 출력하여라.

 

[답]

select empno, ename
from emp
where empno <= 7698;

 

22. 사원 번호가 7654와 7782 사이 이외의 사원의 모든 정보를 출력하여라.

 

[답]

select *
from emp
where NOT (empno > 7654 AND empno < 7782);

select *
from emp
where empno <= 7654 OR empno >= 7782;

 

23. 부서가 30번이고 급여가 $1,500 이상인 사원의 이름, 부서, 급여를 출력하여라.

 

[답]

select ename, deptno, sal
from emp
where deptno = 30 AND sal >= 1500;

 

24. 사원의 모든 정보를 부서 번호에 대해 오름차순으로 정렬한 후 급여가 많은 사원부터 차례로 출력하여라.

 

[답]

select *
from emp
order by deptno, sal desc;

 

궁금한 점이 있을 시 덧글 주시면 최대한 답글 드리겠습니다.

반응형

댓글