반응형

데이터베이스 버전: Oracle 19c Enterprise Edition

DB Tool: SQL Developer

 

다음 예제는 문제, 주의사항, 해답 순으로 작성합니다.

 

 


문제

1. 사원(emp) 테이블에서 사원 번호, 이름, 월급을 출력하세요.

2. 사원(emp) 테이블의 모든 열(column)들을 출력하세요.

3. 사원(emp) 테이블의 사원 번호, 이름, 월급을 출력하는데 컬럼명을 한글로 '사원 번호', '사원 이름'으로 출력하세요.

4. 사원(emp) 테이블의 이름과 월급을 서로 붙여서 출력하세요.

5. 사원(emp) 테이블에서 직업을 출력하는데 중복된 데이터를 제외하고 출력하세요.

6. 사원(emp) 테이블에서 월급이 낮은 사원 순서대로 이름, 월급을 출력하세요.

7. 사원(emp) 테이블에서 월급이 3000인 사원들의 이름, 월급, 직업을 출력하세요.

8. 사원(emp) 테이블에서 이름이 SCOTT인 사원의 이름, 월급, 직업, 입사일, 부서 번호를 출력하세요.

9. 사원(emp) 테이블에서 연봉이 36000 이상인 사원들의 이름, 연봉을 출력하세요.

10. 사원(emp) 테이블에서 월급이 1200 이하인 사원들의 이름, 월급, 직업, 부서 번호를 출력하세요.

11. 사원(emp) 테이블에서 월급이 1000에서 3000 사이인 사원들의 이름, 월급을 출력하세요.

12. 사원(emp) 테이블에서 이름의 첫 글자가 S로 시작하는 사원들의 이름, 월급을 출력하세요.

13. 사원(emp) 테이블에서 커미션이 NULL인 사원들의 이름과 커미션을 출력하세요.

14. 사원(emp) 테이블에서 직업이 SALESMAN, ANALYST, MANAGER 인 사람들의 이름, 월급, 직업을 출력하세요.

15. 사원(emp) 테이블에서 직업이 SALESMAN, 월급이 1200 이상인 사원들의 이름, 월급, 직업을 출력하세요.

16. 사원(emp) 테이블에서 이름이 KING인 사원의 이름, 월급, 커미션, 월급과 커미션을 합한 값을 출력하세요.

17. 사원(emp) 테이블에서 월급이 1000에서 3000 사이가 아닌 사원들의 이름, 월급을 출력하세요.

18. 사원(emp) 테이블에서 이름의 두 번째 철자가 M인 사원의 이름을 출력하세요.

19. 사원(emp) 테이블에서 직업이 SALESMAN, ANALYST, MANAGER 가 아닌 사원들의 이름, 월급, 직업을 출력하세요.

20. 사원(emp) 테이블에서 'OOO의 월급은 OOO 입니다.' 라는 내용을 컬럼명 '월급정보'로 출력하세요.

 


주의사항

1. SQL은 대문자로 작성하고 컬럼명과 테이블명은 소문자로 작성하기를 권장합니다.

2. SELECT절과 FROM절을 각각 별도의 라인에 작성하기를 권장합니다.

3. SELECT절 다음 라인에 FROM 절을 작성할 때는 2칸에서 3칸 정도 공백을 들여쓰기를 권장합니다.

4. 컬럼 별칭에 ""를 감싸줘야 하는 경우

1) 대소문자를 구분하여 출력할 때

2) 공백문자를 출력할 때

3) 특수문자를 출력할 때($, _, #만 가능)

 

 


해답

1.

SELECT empno, ename, sal

  FROM emp;

 

2.

SELECT *

  FROM emp;

 

3.

SELECT empno as "사원 번호", ename as "사원 이름", sal

  FROM emp;

 

4.

SELECT ename || sal

  FROM emp;

 

5.

SELECT DISTINCT job

  FROM emp;

 

SELECT UNIQUE job

  FROM emp;

 

6.

SELECT ename, sal

  FROM emp

ORDER BY sal asc;

 

SELECT ename, deptno, sal

  FROM emp

ORDER BY deptno asc, sal desc;

다음과 같이 ORDER BY절에 컬럼명 대신 숫자를 기입할 수도 있습니다.

SELECT ename, deptno, sal

  FROM emp

ORDER BY 2 asc, 3 desc;

 

7.

SELECT ename, sal, job

  FROM emp

WHERE sal = 3000;

 

8.

SELECT ename, sal, job, hiredate, deptno

  FROM emp

WHERE ename = 'SCOTT';

 

9.

SELECT ename, sal*12 as 연봉

  FROM emp

WHERE sal*12 >= 36000;

 

10.

SELECT ename, sal, job, deptno

  FROM emp

WHERE sal <= 1200;

 

11.

SELECT ename, sal

  FROM emp

WHERE sal BETWEEN 1000 AND 3000;

 

SELECT ename, sal

  FROM emp

WHERE (sal >= 1000 AND sal <= 3000);

 

12.

SELECT ename, sal

  FROM emp

WHERE ename LIKE 'S%';

 

13.

SELECT ename, comm

  FROM emp

WHERE comm is null;

 

14.

SELECT ename, sal, job

  FROM emp

WHERE job in ('SALESMAN', 'ANALYST', 'MANAGER');

 

15.

SELECT ename, sal, job

  FROM emp

WHERE job = 'SALESMAN' AND sal >= 1200;

 

16.

SELECT ename, sal, comm, sal + NVL(comm,0)

  FROM emp

WHERE ename = 'KING';

 

17.

SELECT ename, sal

  FROM emp

WHERE sal NOT BETWEEN 1000 AND 3000;

 

SELECT ename, sal

  FROM emp

WHERE (sal < 1000 OR sal > 3000);

 

18.

SELECT ename

  FROM emp

WHERE ename LIKE '_M%';

 

19.

SELECT ename, sal, job

  FROM emp

WHERE job NOT in ('SALESMAN', 'ANALYST', 'MANAGER');

 

20.

SELECT ename || '의 월급은 ' || sal || '입니다.' as 월급정보

  FROM emp;

 

반응형

'DB > Oracle' 카테고리의 다른 글

#2 실습 테이블 생성 및 데이터 삽입 스크립트  (0) 2022.01.31
#1 실습 계정 생성  (0) 2022.01.25

+ Recent posts