비전공자 공부일기/:: DB - SQL

[ 오라클] 예제01 - 기호, 연산자, SELECT문

와니_ 2019. 5. 21. 09:53

<오라클 DB 예제 - 기호, 연산자, SELECT 문>

 

--문제1.사원이름이 SCOTT인 사원 검색

--문제2.급여가 1500이하인 사원 검색

--문제3.1981년도에 입사한 사원 검색

--문제4.업무가 SALESMAN이거나 MANAGER인 사원 중 급여가 1500 이상인 사원 검색

--문제5.부서코드 10인 사원중 급여가 1000~3000인 사원 검색

--문제6.사원이름이 C부터 S로 시작되는 사원 검색

--문제7.부서코드가 30인 사원 중 성과급이 NULL이 아닌 사원 검색

--문제8.모든 사원을 업무로 오름차순 정렬하고 같은 업무의 사원은 급여로 내림차순 정렬하여 검색

--문제9.업무가 SALESMAN인 사원을 급여로 내림차순 정렬하여 검색

 

 

 

<풀이>


-- 정답 1.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE ENAME='SCOTT';
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE ENAME LIKE 'SCOTT';
--USER : 현재 접속 사용자의 이름(사용자 스키마)을 표현하기 위한 키워드
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE ENAME=USER;

-- 정답 2.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE SAL<=1500;

-- 정답 3.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE HIREDATE>='81/01/01' AND HIREDATE<='81/12/31';
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE HIREDATE>='1981-01-01' AND HIREDATE<='1981-12-31';
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE HIREDATE BETWEEN '81/01/01' AND '81/12/31';
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE HIREDATE LIKE '81%';
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE HIREDATE LIKE '81/__/__';

-- 정답 4.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE (JOB='SALESMAN' OR JOB='MANAGER') AND SAL>=1500;
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE JOB IN('SALESMAN','MANAGER') AND SAL>=1500;

-- 정답 5.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE DEPTNO=10 AND SAL>=1000 AND SAL<=3000;
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE DEPTNO=10 AND SAL BETWEEN 1000 AND 3000;

-- 정답 6.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE ENAME>='C' AND ENAME<'T';
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE ENAME BETWEEN 'C' AND 'T' AND ENAME<>'T';

-- 정답 7.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE DEPTNO=30 AND COMM IS NOT NULL;

-- 정답 8.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP ORDER BY JOB ASC,SAL DESC;
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP ORDER BY JOB,SAL DESC;

-- 정답 9.
SELECT EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO FROM EMP WHERE JOB='SALESMAN' ORDER BY SAL DESC;