코딩항해기

[과제/DBMS] Do It! : 오라클 - 10 데이터 조작어 실습문제 본문

problem solving/문제 풀기

[과제/DBMS] Do It! : 오라클 - 10 데이터 조작어 실습문제

miniBcake 2024. 7. 30. 11:32

 

 

 

[DBMS/Oracle] 데이터 쿼리문 (DML) 기초

[요약]해당 테이블 전체 컬럼 조회SELECT * FROM 테이블명;조건에 해당하는 값 조회SELECT  컬럼명1, 컬럼명2FROM 테이블명WHERE 조건;정렬하여 조회SELECT 컬럼명FROM  테이블명ORDER BY  정렬기준컬럼  [ASC

minibcake.tistory.com

 

 

[DBMS/Oracle] 서브쿼리

서브쿼리 하나의 쿼리 내에 작성하는 또 다른 쿼리를 말한다.  서브 쿼리의 위치에 따른 종류FROM절 in line view SELECT절 scalar WHERE절 sub query *굳이 분리하지 않고 SUB QUERY로 통합하여 부르는 경우가

minibcake.tistory.com

 

 

 

문제 1. CHAP10HW_DEPT 테이블에 50, 60, 70, 80번 부서를 등록하는 SQL문을 작성하세요.

INSERT INTO CHAP10HW_DEPT(DEPTNO, DNAME, LOC) VALUES(50, 'ORACLE', 'BUSAN');
INSERT INTO CHAP10HW_DEPT(DEPTNO, DNAME, LOC) VALUES(60, 'SQL', 'ILSAN');
INSERT INTO CHAP10HW_DEPT(DEPTNO, DNAME, LOC) VALUES(70, 'SELECT', 'INCHEON');
INSERT INTO CHAP10HW_DEPT(DEPTNO, DNAME, LOC) VALUES(80, 'DML', 'BUNDANG');

 

 

문제 2. 다음과 같이 CHAP10HW_EMP 테이블에 다음 8명의 사원 정보를 등록하는 SQL문을 작성하세요.

INSERT INTO CHAP10HW_EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, DEPTNO)
VALUES(7201, 'TEST_USER1', 'MANAGER', 7788, 20160102, 4500, 50);
INSERT INTO CHAP10HW_EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
VALUES(7204, 'TEST_USER4', 'SALESMAN', 7201, 20160531, 2700, 300, 60);

 

 

문제 3. CHAP10HW_EMP에 속한 사원 중 50번 부서에서 근무하는 사원들의 평균 급여보다 많은 급여를 받고 있는 사원들을 70번 부서를 옮기는 SQL문을 작성하세요.

UPDATE CHAP10HW_EMP SET DEPTNO = 70 WHERE SAL > (SELECT AVG(SAL) FROM CHAP10HW_EMP);

 

 

문제 4. CHAP10HW_EMP에 속한 사원 중, 60번 부서의 사원 중에 입사일이 가장 빠른 사원보다 늦게 입사한 사원의 급여를 10%인상하고 80번 부서로 옮기는 SQL문을 작성하세요.

UPDATE CHAP10HW_EMP 
SET SAL = SAL*1.1,
	DEPTNO = 80
WHERE DEPTNO = 60 AND HIREDATE > (
	SELECT MIN(HIREDATE) 
    FROM CHAP10HW_EMP
    WHERE DEPTNO = 60
);

 

 

문제 5. CHAP10HW_EMP에 속한 사원 중 급여 등급이 5인 사원을 삭제하는 SQL문을 작성하세요.

DELETE FROM CHAP10HW_EMP 
WHERE EMPNO IN(SELECT EMPNO FROM CHAP10HW_SALGRADE WHERE GRADE = 5);