* 공부 정리일자 (2022년 8월 ~ 12월)
- 책 : 데이터베이스 배움터 (ORACLE을 기반으로 하는), 데이터베이스 개론 (2판), 데이터베이스 시스템 (해외서적 6판)
- 개인적으로 공부 및 복습하면서 정리한 내용입니다. (사진 제외)
* 문제풀이
select * from DEPT;
select * from EMP;
select * from SALGRADE;
1. 문제) 부서번호가 10번인 부서의 사람 중 사원번호, 이름, 월급을 출력하라
select EMPNO, ENAME, SAL from EMP where DEPTNO = '10';
2. 문제) 사원번호가 7369인 사람 중 이름, 입사일, 부서번호를 출력하라.
select ENAME, datetime, DEPTNO from EMP where EMPNO = 7369;
3. 문제) 이름이 ALLEN인 사람의 모든 정보를 출력하라.
select * from EMP where emp.ENAME = 'ALLEN';
4. 문제) 입사일이 83/01/12인 사원의 이름, 부서번호, 월급을 출력하라.
-- 입사일이 83/01/12인 사원은 없다.
select ename, deptno, SAL from EMP where datetime = '1983-01-12';
5. 문제) 직업이 MANAGER가 아닌 사람의 모든 정보를 출력하라.
select * from EMP where JOB <> 'MANAGER';
6. 문제) 입사일이 81/04/02 이후에 입사한 사원의 정보를 출력하라.
select * from EMP where datetime >= '1981-04-02';
7. 문제) 급여가 $800 이상인 사람의 이름, 급여, 부서번호를 출력하라.
select ename, SAL, deptno from EMP where SAL >= '800';
8. 문제) 부서번호가 20번 이상인 사원의 모든 정보를 출력하라.
select * from EMP where DEPTNO >= '20';
9. 문제) 이름이 K로 시작하는 사람보다 높은 이름을 가진 사람의 모든 정보를 출력하라.
select * from EMP where ENAME > 'K';
10. 문제) 입사일이 81/12/09 보다 먼저 입사한 사람들의 모든 정보를 출력하라.
select * from EMP where datetime < '1981-12-09';
11. 문제) 입사번호가 7698보다 작거나 같은 사람들의 입사번호와 이름을 출력하라.
select MGR as '입사번호', ENAME as '이름' from EMP where MGR <= '7698';
12. 문제) 입사일이 81/04/02 보다 늦고 82/12/09 보다 빠른 사원의 이름, 월급, 부서번호를 출력하라.
select ename '이름', SAL '월급', deptno '부서번호' from EMP where datetime > '1981-04-02' AND datetime < '1982-12-09';
13. 문제) 급여가 $1,600보다 크고 $3,000보다 작은 사람의 이름, 직업, 급여를 출력하라.
select ENAME '이름', JOB '직업', SAL '급여' from EMP where SAL > '1600' AND SAL < '3000';
14. 문제) 사원번호가 7654와 7782 사이 이외의 사원의 모든 정보를 출력하라.
select * from EMP where EMPNO > 7654 AND EMPNO < 7782;
15. 문제) 이름이 B와 J 사이의 모든 사원의 정보를 출력하라.
select * from EMP where ENAME > 'B%' AND ENAME < 'J%';
16. 문제) 입사일이 81년 이외에 입사한 사람의 모든 정보를 출력하라.
select * from EMP where datetime < '1981/01/01' or datetime > '1981/12/31';
17. 문제) 직업이 MANAGER와 SALESMAN인 사람의 모든 정보를 출력하라.
select * from EMP where JOB = 'MANAGER' or JOB = 'SALESMAN';
18. 문제) 부서번호와 20, 30번을 제외한 모든 사람의 이름, 사원번호, 부서번호를 출력하라.
select ENAME '이름', EMPNO '사원번호', DEPTNO '부서번호' from EMP where DEPTNO <> '20' and deptno <> '30';
19. 문제) 이름이 S로 시작하는 사원의 사원번호, 이름, 입사일, 부서번호를 출력하라.
select EMPNO '사원번호', ENAME '이름', datetime '입사일', DEPTNO '부서번호'
from EMP where ENAME LIKE 'S%'
20. 문제) 입사일이 81년도인 사람의 모든 정보를 출력하라
select * from EMP where datetime > '1981/01/01' AND datetime < '1981/12/31';
21. 문제) 이름 중 S자가 들어가 있는 사람만 모든 정보를 출력하라.
select * from EMP where ENAME LIKE '%S%';
22. 문제) 이름이 S로 시작하고 마지막 글자가 T인 사람의 모든 정보를 출력하라(단, 이름은 전체 5자리이다)
select * from EMP where ENAME LIKE 's%' AND ENAME LIKE '%T' AND ENAME LIKE '_____';
23. 문제) 첫 번째 문자는 관계없고, 두 번째 문자가 A인 사람의 정보를 출력하라.
select * from EMP where ENAME LIKE '_A%';
24. 문제) 커미션이 NULL인 사람의 정보를 출력하라.
select * from EMP where COMM is NULL;
25. 문제) 커미션이 NULL이 아닌 사람의 모든 정보를 출력하라.
select * from EMP where COMM is NOT NULL;
26. 문제) 부서가 30번 부서이고 급여가 $1,500 이상인 사람의 이름, 부서 ,월급을 출력하라.
select ENAME '이름', DEPTNO '부서', SAL '월급' from EMP where DEPTNO = '30' AND SAL >= '1500';
27. 문제) 이름의 첫 글자가 K로 시작하거나 부서번호가 30인 사람의 사원번호, 이름, 부서번호를 출력하라.
select EMPNO '사원번호', ENAME '이름', DEPTNO '부서번호' from EMP where ENAME LIKE 'K%' or DEPTNO = '30';
28. 문제) 급여가 $1,500 이상이고 부서번호가 30번인 사원 중 직업이 MANAGER인 사람의 정보를 출력하라
select * from EMP where SAL >= '1500' AND DEPTNO = '30' AND JOB = 'MANAGER';
29. 문제) 부서번호가 30인 사람 중 사원번호 SORT하라. (SORT 정렬하라)
select * from EMP where DEPTNO = '30' order by empno ASC;
30. 문제) 급여가 많은 순으로 SORT하라. (SORT 정렬하라)
select * from EMP order by SAL DESC;
31. 문제) 부서번호로 ASCENDING SORT(오름차순 정렬)한 후 급여가 많은 사람 순으로 출력하라.
select * from EMP order by DEPTNO ASC, SAL DESC;
32. 문제) 부서번호가 DESCENDING SORT하고, 이름 순으로 ASCENDING SORT, 급여 순으로 DESCENDING SORT 하라.
select * from EMP order by DEPTNO desc, ENAME asc, SAL desc;
'프로그래밍 공부 > DataBase (DB)' 카테고리의 다른 글
[ 데이터베이스 이론 ] 공부 정리 - 6강. ER 모델 (0) | 2023.05.21 |
---|---|
[ 데이터베이스 이론 ] 공부 정리 - 5강. 데이터베이스 설계 (0) | 2023.05.21 |
[ 데이터베이스 이론 ] 공부 정리 - 4강. SQL INSERT, DELETE, UPDATE문 (0) | 2023.05.19 |
[ 데이터베이스 이론 ] 공부 정리 - 4강. SQL SELECT문 (1) | 2023.05.19 |
[ 데이터베이스 이론 ] 공부 정리 - 3강. 관계 대수 (관계 데이터 모델) (0) | 2023.05.19 |