1. 사원 테이블에서 사원 번호, 이름, 급여 그리고 13% 증가된 급여를 모두 출력합니다.
증가된 급여의 열 별명(레이블,헤딩)은 New Salary입니다.
답 :
SELECT EMPNO,ENAME,SAL,SAL+(SAL*0.13)"New Salary"
FROM EMP;
2. 이름이 A,T, 또는 M으로 시작하는 모든 사원에 대해서
모두 소문자로 나타나는 사원의 이름과 이름 길이를 출력하는 질의를 작성하세요.
각각의 열에 Name, Length라는 레이블을 부여하세요.
답 :
SELECT LOWER(ENAME) as "Name",LENGTH(ENAME) as "Length" FROM EMP
where SUBSTR(ENAME,1,1) in('A','T','M');
3. 평균급여보다 더 많이 받는 사원의 부서에서 같이 근무하는
사원 정보(부서명 포함)를 출력하는 질의(쿼리=SQL)를 작성하세요.
답 :
SELECT e.*,D.DNAME
FROM EMP e INNER join DEPT d
on E.DEPTNO = D.DEPTNO
where e.DEPTNO IN
(SELECT DISTINCT EMP.DEPTNO FROM EMP
where SAL > (SELECT AVG(SAL) FROM EMP))
ORDER BY E.DEPTNO;
4. 각 사원의 동일한 근무지에서 근무하는 동료 사원의 이름과 부서번호를 출력하시오.
답:
SELECT E.ENAME,D.DEPTNO
FROM EMP e INNER join DEPT d
On E.DEPTNO = D.DEPTNO
where d.LOC IN
(SELECT LOC FROM DEPT);
5. SCOTT 보다 입사일이 늦은 사원과 같은 부서에서 근무하는 사원들의 부서명,이름,급여를 출력하시오.
답:
select d.dname,e.ename,e.sal
from emp e,dept d
where e.deptno = d.deptno AND E.ENAME<>'SCOTT' and e.deptno =(select deptno from emp where hiredate >
(select hiredate from emp where ename = 'SCOTT'));
select d.dname,e.ename,e.sal
from (SELECT * FROM EMP WHERE ENAME<>'SCOTT') e,dept d
where e.deptno = d.deptno and e.deptno =(select deptno from emp where hiredate >
(select hiredate from emp where ename = 'SCOTT'));
6.이름에 "K"자가 들어가는 사원들 중 가장 급여가 적은 사원의 부서명,사원명,급여를 출력하시오.
답:
SELECT E.ENAME, D.DNAME, E.SAL FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO AND E.SAL =
(SELECT MIN(SAL) FROM EMP E
WHERE ENAME LIKE '%K%');
7.커미션 계약조건이 없는(커미션이 비어있음) 사원중 입사일이 가장 빠른 사원의 부서명, 사원명,입사일을 출력하시오.
답:
SELECT DNAME, ENAME, HIREDATE
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
AND HIREDATE = (SELECT MIN(HIREDATE) FROM EMP WHERE COMM IS NULL);
8. KING 의 급여에서 SCOTT의 급여를 뺀 결과보다 적은 급여를 받는 사원의 부서명,이름,급여를 출력하시오.
답 :
SELECT D.DNAME,E.ENAME,E.SAL
FROM EMP E ,DEPT D
WHERE E.DEPTNO = D.DEPTNO AND SAL <= (
SELECT (SELECT SAL FROM EMP WHERE ENAME ='KING')-SAL FROM EMP WHERE ENAME ='SCOTT')ORDER BY E.SAL;
9. 커미션 계약조건이 있는 사원중 이름에 'N'자가 들어가는 사원의 최소급여를 받는 사원의 사원명, 부서명을 출력하시오.
답 :
SELECT ENAME,D.DNAME
FROM EMP E,DEPT D
WHERE E.DEPTNO = D.DEPTNO
AND SAL=(SELECT MIN(SAL) FROM
(SELECT ENAME,SAL FROM EMP WHERE COMM IS NOT NULL ))
AND ENAME LIKE '%N%';
10. EMP 테이블에서 이름이 5글자인 사원중 급여가 가장 높은 사원의 이름,급여,부서명을 출력하시오.
SELECT ENAME, SAL, DNAME
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
AND SAL = (SELECT MAX(SAL) FROM EMP WHERE LENGTH(ENAME) = 5)
AND LENGTH(ENAME) = 5;
11. CLARK이 속한 부서의 평균 연봉보다 높은 사원중 입사일이 가장 빠른 사원의 부서명, 사원명, 연봉을 출력하시오.
답:
SELECT DNAME, ENAME, (SAL*12)+nvl(COMM,0) "연봉"
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
AND HIREDATE = (SELECT MIN(HIREDATE) FROM EMP
WHERE (SAL*12)+nvl(COMM,0) > (SELECT AVG((SAL*12)+nvl(COMM,0))
FROM EMP WHERE DEPTNO =
(SELECT DEPTNO FROM EMP WHERE ENAME = 'CLARK')));
12. 두번째로 많은 급여를 받는 사원의 이름과 급여를 출력하시오.
답:
SELECT ENAME,SAL
FROM EMP
WHERE SAL =(SELECT MAX(SAL) FROM
(SELECT ENAME,SAL FROM EMP
WHERE SAL <(SELECT MAX(SAL) FROM EMP)));
'IT 프로그래밍' 카테고리의 다른 글
[인크레파스 융합 SW교육센터 구로디지털단지역] IT교육 고용노동부 지정 직업능력개발 훈련, 취업현황 (1) | 2018.01.10 |
---|---|
2018년 정보처리산업기사 시험일정, 합격률 (0) | 2018.01.09 |
냄새 연기 걱정 없는 간편한 에브리데이 에코 그릴 자이글 레드에디션 사용후기 (0) | 2018.01.07 |
Meltdown and Spectre : 영향을받는 모든 Mac 기기에는 Apple이 있습니다./Meltdown and Spectre: All Mac devices affected says Apple (0) | 2018.01.05 |
ORACL SQL 문제 (0) | 2017.12.27 |
ORACLE JOIN함수(조인)에 대해서 (0) | 2017.12.26 |
자바 이클립스 단축키 (0) | 2017.12.25 |
자바의 역사와 자바에 대하여 java (0) | 2017.12.25 |