SQL Developer 기본문제 풀이

2018. 6. 28. 14:02·오랜된 포스팅/SQL Developer

# 문제풀이에 사용된 함수

= 


  1. -- 문제1) EMPLOYEES 테이블에서 부서별로 
  2. -- 인원수, 평균 급여,급여의 합,최소 급여,최대 급여를 
  3. -- 포함하는 EMP_DEPTNO 테이블을 생성하라.
  4. DROP TABLE EMP_DEPTNO;

  5. CREATE TABLE EMP_DEPTNO(
  6.     "부서번호", 
  7.     "인원수", 
  8.     "평균 급여",
  9.     "급여의 합",
  10.     "최소 급여",
  11.     "최대 급여"
  12. )
  13. AS
  14. SELECT DEPARTMENT_ID, COUNT(*), ROUND(AVG(SALARY)), SUM(SALARY), 
  15.         MIN(SALARY), MAX(SALARY)
  16. FROM EMPLOYEES        
  17. GROUP BY DEPARTMENT_ID;

  18. SELECT * FROM EMP_DEPTNO;

  19. -- 문제2) EMP_DEPTNO 테이블에 ETC COLUMN을 추가하라. 
  20. -- 단 자료형은 VARCHAR2(50) 사용하라.

  21. ALTER TABLE EMP_DEPTNO
  22. ADD
  23. (ETC VARCHAR2(50));

  24. -- 문제3) EMP_DEPTNO 테이블에 ETC COLUMN을 수정하라. 
  25. -- 자료 형은 VARCHAR2(15)로 하라.

  26. ALTER TABLE EMP_DEPTNO
  27. MODIFY
  28. (ETC VARCHAR2(15));

  29. DESC EMP_DEPTNO;

  30. -- 문제4) EMP_DEPTNO 테이블에 있는 ETC 을 삭제하고 확인하라.

  31. ALTER TABLE EMP_DEPTNO
  32. DROP (ETC);

  33. -- 문제5) 이전에 생성한 EMP_DEPTNO 테이블의 이름을 EMP_DEPT로 변경하라.

  34. RENAME EMP_DEPTNO
  35. TO
  36. EMP_DEPT;

  37. -- 문제6) EMP_DEPT 테이블을 삭제하라.

  38. DROP TABLE EMP_DEPT;
  39. -- CASCADE CONSTRAINTS -- 무결성이 있을 시엔


  40. -- 문제7) EMPLOYEES 테이블을 EMP 테이블을 생성하고 복제하도록 하라.
  41. -- (데이터 포함)

  42. CREATE TABLE EMP
  43. AS
  44. SELECT * FROM EMPLOYEES
  45. WHERE 1 = 2;    -- 데이터 미포함

  46. SELECT * FROM EMP;

  47. -- 문제8) EMP 테이블에 row를 추가해 봅니다.
  48. -- 다만, 반드시 데이터를 기입을 안해도 되면, NULL로 설정하도록 한다.
  49. -- 무결성
  50. -- Primary key : not null + 고유키(unique)
  51. -- unique      : null 허용 + 고유값   
  52. -- Foreign key : null 허용 
  53. INSERT INTO EMP(EMPLOYEE_ID, FIRST_NAME, LAST_NAME, 
  54.     EMAIL, PHONE_NUMBER, HIRE_DATE, JOB_ID, SALARY, 
  55.     COMMISSION_PCT, MANAGER_ID, DEPARTMENT_ID)
  56. VALUES(100, NULL, '홍', 
  57.     'HGD@NAVER.COM', NULL, SYSDATE, 'IT_PROG', 10000,
  58.     NULL, NULL, NULL);

  59. SELECT * FROM EMP;

  60. -- 문제9) EMPLOYEES 테이블에서 EMPNO,ENAME,SAL,HIREDATE의 
  61. -- COLUMN만 선택하여 EMP_10 테이블을 생성(데이터 미포함)한 후 
  62. -- 10번 부서만 선택하여 이에 대응하는 값을 EMP_10테이블에 입력하라.
  63. CREATE TABLE EMP_10(ID, NAME, SAL, HIREDATE)
  64. AS
  65. SELECT EMPLOYEE_ID, LAST_NAME, SALARY, HIRE_DATE
  66. FROM EMPLOYEES
  67. WHERE 1 = 2;

  68. SELECT * FROM EMP_10;

  69. INSERT INTO EMP_10
  70. SELECT EMPLOYEE_ID, LAST_NAME, SALARY, HIRE_DATE
  71. FROM EMPLOYEES
  72. WHERE DEPARTMENT_ID = 10;

  73. -- 문제10) 다음은 무결성 제약 조건이 위배된 쿼리이다.
  74. -- 무엇을 위배했는지 알아보도록 합시다.
  75. INSERT INTO EMPLOYEES
  76. VALUES (100, NULL, 'YOON', 'dbs', NULL, SYSDATE, 'ST_MAN', 
  77. NULL, NULL, NULL, NULL); 

  78. INSERT INTO EMPLOYEES
  79. VALUES (98, NULL, 'YOON', 'dbs', NULL, SYSDATE, 
  80. 'ST_MAN', NULL, NULL, NULL, 100); 

  81. INSERT INTO EMPLOYEES
  82. VALUES (98, NULL, 'YOON', 'dbs2', NULL, SYSDATE, 
  83. 'ST_MAN', NULL, NULL, NULL, 101);

  84. --문제11) EMPLOYEES 테이블에서 사원 번호가 180인 사원의 부서를 20, 급여를 3500으로 변경하여라.
  85. UPDATE EMPLOYEES
  86. SET DEPARTMENT_ID = 20,SALARY = 3500
  87. WHERE EMPLOYEE_ID = 180;
  88. SELECT
  89.     *
  90. FROM EMPLOYEES
  91. WHERE EMPLOYEE_ID = 180;

  92. --문제12) EMPLOYEES 테이블에서 Smith의 업무와 급여가 Hall의 업무와 급여와
  93. --일치하도록 수정하라.
  94. SELECT
  95.     JOB_ID,SALARY
  96. FROM EMPLOYEES
  97. WHERE LAST_NAME = 'Smith';

  98. UPDATE EMPLOYEES
  99. SET (JOB_ID, SALARY) = (SELECT
  100.     JOB_ID,SALARY
  101. FROM EMPLOYEES
  102. WHERE LAST_NAME = 'Hall')
  103. WHERE LAST_NAME = 'Smith';

  104. -- ex3_6란 테이블을 만들고, 사원테이블(employees)에서
  105. -- 관리자사번이 124번이고 급여가 2000에서 3000 사이에 있는
  106. -- 사원의 사번, 사원명, 급여, 관리자사번을 입력하는 INSERT문을 작성해보자
  107. CREATE TABLE ex3_6(
  108.     EMPLOYEE_ID NUMBER(6),
  109.     FIRST_NAME VARCHAR2(80),
  110.     SALARY NUMBER(8,2),
  111.     MANAGER_ID NUMBER(6)
  112. );
  113. INSERT INTO ex3_6
  114. SELECT
  115.     EMPLOYEE_ID,FIRST_NAME,SALARY,MANAGER_ID
  116. FROM EMPLOYEES
  117. WHERE MANAGER_ID = 124 AND SALARY BETWEEN 2000 AND 3000;
  118. SELECT
  119.     *
  120. FROM EX3_6;


저작자표시 비영리 변경금지 (새창열림)

'오랜된 포스팅 > SQL Developer' 카테고리의 다른 글

SQL developer 새로운 계정만들기  (0) 2018.11.14
SQL Developer 기본문제 풀이 SCOTT (+ROUND() / SYSDATE / MONTHS_BETWEEN)  (0) 2018.06.26
SQL Developer 기본문제 풀이 SCOTT (+SUB QUERY)  (0) 2018.06.23
SQL Developer 기본문제 풀이 SCOTT (+JOIN)  (0) 2018.06.23
SQL Developer 기본문제 풀이 SCOTT (+ORDER BY)  (0) 2018.06.23
'오랜된 포스팅/SQL Developer' 카테고리의 다른 글
  • SQL developer 새로운 계정만들기
  • SQL Developer 기본문제 풀이 SCOTT (+ROUND() / SYSDATE / MONTHS_BETWEEN)
  • SQL Developer 기본문제 풀이 SCOTT (+SUB QUERY)
  • SQL Developer 기본문제 풀이 SCOTT (+JOIN)
Toycode
Toycode
오늘도 훌륭했던 시간을 보내길 바라며
  • Toycode
    오늘도 훌륭했어
    Toycode
  • 전체
    오늘
    어제
    • 분류 전체보기 (48)
      • 블록체인 (0)
      • 기초 CS 파훼하기 (2)
      • IT 트렌드 (1)
      • 오랜된 포스팅 (45)
        • Java (25)
        • SQL Developer (14)
        • eGovFramework (5)
        • IOS (1)
  • 링크

    • Online Resume
  • hELLO· Designed By정상우.v4.10.0
Toycode
SQL Developer 기본문제 풀이
상단으로

티스토리툴바