DB

ORACLE SQL SELECT문 SCOTT 문제 풀이

Adev 2022. 9. 21. 15:02

1. EMP 테이블의 모든 내용 출력

SELECT * FROM EMP;



2. 사원의 이름과 급여와 입사일자를 출력

SELECT ENAME, SAL, HIREDATE
FROM EMP;



3. DEPTNO 칼럼에 departmentNo라는 별칭 지정

SELECT DEPTNO AS departmentNo
FROM DEPT;



4. 사원들의 소속 부서번호를 출력하되 중복되지 않고 한번씩 출력

SELECT DISTINCT DEPTNO
FROM DEPT;



5.1. 테이블 EMP 중에서 부서번호가 10번인 사원에 관한 모든 정보 출력

SELECT * FROM EMP
WHERE DEPTNO = 10;



5.2. 테이블 EMP 중에서 급여가 2000 미만이 되는 사원의 정보 중에서 사번과 이름, 급여를 출력

SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL<2000;

 


6. 이름이 MILLER인 사람의 사원번호와 사원명과 직급을 출력

SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE ENAME='MILLER';



7. 1985년 이후에 입사한 사원의 이름과 입사일

SELECT ENAME, HIREDATE
FROM EMP
WHERE HIREDATE >= '1985/01/01';



8.1. 급여가 1000에서 3000 사이에 있는 사원이름과 급여

SELECT ENAME, SAL
FROM EMP
WHERE SAL >= 1000 AND SAL<=3000;



8.2. 사원번호가 7844이거나 7654이거나 7521인 사원의 이름과 사원번호

--방법1
SELECT ENAME, EMPNO
FROM EMP
WHERE EMPNO = 7521 OR EMPNO = 7654 OR EMPNO =7521;

--방법2
SELECT ENAME, EMPNO
FROM EMP
WHERE EMPNO IN (7521,7654, 7521);



8.3. 직급이 MANAGER가 아닌 사원이름과 직금

--방법1
SELECT ENAME, JOB
FROM EMP
WHERE JOB != 'MANAGER';

--방법2
SELECT ENAME, JOB
FROM EMP
WHERE NOT JOB = 'MANAGER';

 


8.4. 급여가 1500과 2500사이인 사원의 사번, 이름, 급여를 출력

--방법1
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL>=1500 AND SAL<=2500;

--방법2
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL BETWEEN 1500 AND 2500;



8.5.커미션이 300이거나 500이거나 1400 중의 하나인 사원의 이름, 급여, 커미션을 출력

--방법1
SELECT ENAME, SAL, COMM
FROM EMP
WHERE COMM IN (300, 500, 1400);

--방법2
SELECT ENAME, SAL, COMM
FROM EMP
WHERE COMM = 300 OR COMM = 500 OR COMM = 1400;



9. 이름에 A를 포함하지 않은 사원의 사번, 이름을 출력

SELECT EMPNO, ENAME
FROM EMP
WHERE NOT ENAME LIKE '%A%';



10. 자신의 직속상관이 없는 사원의 이름과 직급과 직속상관의 사번을 출력

SELECT ENAME, JOB, MGR
FROM EMP
WHERE MGR IS NULL;



11.1. 사원의 사번, 이름, 급여를 급여가 높은 순으로 출력

SELECT EMPNO, ENAME, SAL
FROM EMP
ORDER BY SAL DESC;



11.2. 입사일이 가장 최근인 사원 순으로 사번, 이름, 입사일을 출력

SELECT EMPNO, ENAME, HIREDATE
FROM EMP
ORDER BY HIREDATE DESC;



11.3. 사원의 부서번호와 사원번호를 부서번호가 작은 순으로 정렬한 후 같은 부서 내라면 사원번호가 작은 순으로 출력

SELECT DEPTNO, EMPNO
FROM EMP
ORDER BY DEPTNO, EMPNO;