--1번) 테이블에서 부서별로
-- 인원수,평균,급여
-- 급여의 합,최소급여, 최대 급여를 포함하는 EMP_DEPTNO테이블을 생성하라
CREATE TABLE EMP_DEPTNO( DEPNO, E_COUNT, E_AVG, E_SUM, E_MIN, E_MAX )
AS (
SELECT DEPARTMENT_ID DEPTNO, COUNT(DEPARTMENT_ID), AVG(SALARY), SUM(SALARY), MIN(SALARY), MAX(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID);
--문제2)EMP_DEPTNO 테이블에 ETC COLUMN을추가하여라.
--단 자료형은 VARCHAR2(50)사용하라
ALTER TABLE EMP_DEPTNO
ADD ETC VARCHAR2(50);
DESC EMP_DEPTNO;
--문제3)EMP_DEPTNO 테이블에 ETC COLUMN을 수정하여라.
--단 자료형은 VARCHAR2(15)사용하라
ALTER TABLE EMP_DEPTNO
MODIFY ETC VARCHAR2(15);
DESC EMP_DEPTNO;
--문제4)EMP_DEPTNO 테이블에 있는 ETC 을 삭제하고 확인하라.
ALTER TABLE EMP_DEPTNO
DROP
COLUMN ETC;
DESC EMP_DEPTNO;
--문제5)이전에 생성한 EMP_DEPTNO 테이블의 이름을 EMP_DEPT로 변경하라.
ALTER TABLE EMP_DEPTNO
RENAME TO EMP_DEPT;
--문제6)EMP_DEPT 테이블을 삭제하라.
DROP TABLE EMP_DEPT;
--문제7)EMPLOYEES 테이블을 EMP 테이블을 생성하고 복제하도록 하라.
CREATE TABLE EMP
AS
SELECT
*
FROM EMPLOYEES ;
--문제8)EMP 테이블에 row를 추가해 봅니다.
--(다만, 반드시 데이터를 기입을 안해도 되면, NULL로 설정하도록 한다.)
INSERT INTO EMP
VALUES('ROW','NULL');
SELECT * FROM EMP;
--문제9)EMPLOYEES 테이블에서
-- EMPNO,ENAME,SAL,HIREDATE의 COLUMN만 선택하여
-- EMP_10 테이블을 생성(데이터 미포함)한 후,
-- 10번 부서만 선택하여 이에 대응하는 값을 EMP_10테이블에 입력하라.
DROP TABLE EMP_10;
CREATE TABLE EMP_10 AS (
SELECT EMPLOYEE_ID, LAST_NAME, SALARY, HIRE_DATE
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 10
);
SELECT
*
FROM EMP_10;
--문제10) EMPLOYEES 테이블에서 사원 번호가 107인 사원의 부서를 10번으로 변경하여라.
UPDATE EMPLOYEES
SET DEPARTMENT_ID=10
WHERE EMPLOYEE_ID=107;
--문제11) EMPLOYEES 테이블에서 사원 번호가 180인 사원의 부서를 20,
--급여를 3500으로 변경하여라.
UPDATE EMPLOYEES
SET DEPARTMENT_ID=20, SALARY = 3500
WHERE EMPLOYEE_ID=180;
SELECT
*
FROM EMPLOYEES;
--문제12)EMPLOYEES 테이블에서 Smith의 업무와 급여가 Hall의 업무와 급여와 일치하도록 수정하라.
UPDATE EMPLOYEES
SET (JOB_ID, SALARY) = (SELECT JOB_ID, SALARY FROM EMPLOYEES WHERE LAST_NAME='Hall')
WHERE LAST_NAME='Smith';
SELECT
*
FROM EMPLOYEES;
'Oracle Database > SQL-문제풀이' 카테고리의 다른 글
SQL PROCEDURE(프로시져) 문제 (0) | 2018.06.28 |
---|---|
[ORACLE] DB의 서브 쿼리 문제 풀이 (0) | 2018.06.26 |
Oracle Database - 확인하기 (0) | 2018.06.20 |
[ORACLE] DB 정렬 문제 (0) | 2018.06.20 |
[ORACLE] DB SELECT 문제풀이 (0) | 2018.06.20 |