연습문제
1. 20번 부서에서 근무하는 사원의 사원번호, 이름, 부서번호 출력
SELECT empno, ename, deptno
FROM emp
WHERE deptno = 20;
2. 입사일이 82/01/01에서 82/06/01인 사원의 사원번호, 이름, 입사일을 출력
SELECT empno, ename, hiredate
FROM emp
WHERE hiredate BETWEEN '820101' and '820601';
SELECT empno, ename, hiredate
FROM emp
WHERE hiredate >= '820101'
AND hiredate <= '820601';
3. 담당업무가 salesman, clerk인 사원들의 이름과 업무를 출력
SELECT ename, job
FROM emp
WHERE job IN('SALESMAN', 'CLERK');
SELECT ename, job
FROM emp
WHERE job = 'SALESMAN'
OR job ='CLERK';
4. 업무가 president이고 급여가 1500이상이거나 업무가 salesman인 사원의 정보를 출력
SELECT * FROM emp
WHERE (job = 'PRESIDENT' AND sal >= 1500) OR (job='SALESMAN');
SELECT ename, job, sal
FROM emp
WHERE (job = 'PRESIDENT' AND sal >= 1500) OR (job='SALESMAN');
5. 업무가 president 또는 salesman이고 급여가 1500이상인 사원의 정보를 출력
SELECT * FROM emp
WHERE job IN( 'PRESIDENT', 'SALESMAN') AND sal>1500;
SELECT ename, job, sal
FROM emp
WHERE (job='PRESIDENT' OR job='SALESMAN') AND sal>1500;
6. 커미션(comm)이 없는 사원의 이름, 급여, 커미션을 출력
SELECT ename, sal, comm
FROM emp
WHERE comm IS NULL;
SELECT ename, sal, comm
FROM emp
WHERE NVL(comm, 0) = 0;
7. 사원명, 급여, 커미션, 총급여( 급여 + 커미션)을 출력
SELECT ename, sal, comm, sal+comm
FROM emp;
-- null 때문에 더해지지 않음.
-- NVL() / NVL2() : 데이터베이스에서는 null 아무것도 없는 값 > 산술식이 고장납니다.
-- NVL(컬럼, null일경우변환값)
-- NVL2(컬럼, null이아닐경우반환값, null일경우반환값)
SELECT ename, sal, comm, sal+NVL(comm, 0)
FROM emp;
8. 이름 A로 시작하는 사원명 출력
SELECT * FROM emp
WHERE ename like 'A%';
9. 이름이 두번째 문자가 L인 사원명 출력
SELECT * FROM emp
WHERE ename like '_L%';
10. 이름에 L이 두 번 이상 포함된 사원명 출력
SELECT * FROM emp
WHERE ename like '%L%L%';
11. 보너스가 급여보다 10%가 많은 모든 사원에 대해 이름, 급여, 보너스를 출력
SELECT * FROM emp
WHERE comm >= sal*1.1;
12. 업무가 clerk이거나 analyst이고 급여가 1000, 3000, 5000이 아닌 모든 사원의정보를출력
SELECT * FROM emp
WHERE job IN( 'CLERK', 'ANALYST')
AND sal NOT IN(1000, 3000, 5000);
13. 부서가 30이거나 또는 관리자가 7782인 사원의 모든 정보를 출력
SELECT * FROM emp
WHERE deptno = 30 OR mgr=7782;
14.커미션이 높은 순으로 정렬 (단, 커미션이 없으면 제일 나중에 출력되도록 )
SELECT * FROM emp
ORDER BY comm DESC NULLS LAST;
'Programming > 오라클[SQL]' 카테고리의 다른 글
오라클[sql] 연습문제 (employees 테이블) (0) | 2022.08.21 |
---|---|
오라클[sql] 연습문제 (고객, 상품, 주문) (0) | 2022.08.21 |
오라클[sql] AS / DISTINCT / ORDER BY (0) | 2022.08.21 |
오라클[sql] 조건절 표현방법 (0) | 2022.08.21 |
오라클[sql] 연습문제 (0) | 2022.08.21 |
댓글