본문 바로가기

정보처리기사

[정보처리기사] 실기 노트 - SQL 응용 2

  1. DML - SELECT
    1. 일반 형식
      1. SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...] [, 그룹함수(속성명) [AS 별칭]] [, Window함수 OVER (PARTITIONS BY 속성명1, 속성명2, ... ORDER BY 속성명3, 속성명4, ...)] FROM 테이블명[, 테이블명, ...] [WHERE 조건] [GROUP BY 속성명, 속성명, ...] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]];
    2. 조건 연산자
      1. 비교 연산자: =, <>, >, <, >=, <=
      2. 논리 연산자: NOT, AND, OR
      3. LIKE 연산자: %, _, #
    3. 기본 검색: SELECT 절에 원하는 속성을 지정하여 검색함
    4. 조건 지정 검색: WHERE 절에 조건을 지정하여 조건에 만족하는 튜플만 검색함
    5. 정렬 검색: ORDER BY 절에 특정 속성을 지정하여 지정된 속성으로 자료를 정렬하여 검색함
    6. 하위 질의: 조건절에 주어진 질의를 먼저 수행하여 그 검색 결과를 조건절의 피연산자로 사용함
    7. 복수 테이블 검색: 여러 테이블을 대상으로 검색을 수행함
    8. 그룹 함수: COUNT, SUM, AVG, MAX, MIN, STDDEV, VARIANCE, ROLLUP, CUBE
    9. WINDOW 함수: ROW_NUMBER( ), RANK( ), DENSE_RANK( )
    10. WINDOW 함수 이요 검색: GROUP BY절을 이용하지 않고 인수로 지정한 속성을 범위로 하여 속성의 값을 집계함
    11. 그룹 지정 검색: GROUP BY 절에 지정한 속성을 기준으로 자료를 그룹화하여 검색함
    12. 집합 연산자를 이용한 통합 질의
      1. 표기 형식
        1. SELECT 속성명1, 속성명2, ... FROM 테이블명 UNION | UNION ALL | INTERSECT | EXCEPT SELECT 속성명1, 속성명2, ... FROM 테이블명 [ORDER BY 속성명 [ASC | DESC]];
      2. 집합 연산자의 종류: UNION, UNION ALL, INTERSECT, EXCEPT
  2. DML - JOIN
    1. JOIN: 2개의 릴레이션에서 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환함
    2. INNER JOIN: 두 테이블간 조인 조건을 만족하는 행을 반환할 때 사용하는 구문
      1. EQUI JOIN: JOIN 대상 테이블에서 공통 속성을 기준으로 '='(equal) 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성하는 JOIN 방법
      2. NON-EQUI JOIN: JOIN 조건에는 '=' 조건이 아닌 나머지 비교 연산자, 즉 >, <, <>, >=, <= 연산자를 사용하는 JOIN 방법
    3. OUTER JOIN
      1. OUTER JOIN: 릴레이션에서 JOIN 조건에 만족하지 않는 튜플도 결과를 출력하기 위한 JOIN 방법
      2. OUTER JOIN의 종류
        1. LEFT OUTER JOIN: INNER JOIN의 결과를 구한 후, 우측 항 릴레이션의 어떤 튜플과도 맞지 않는 좌측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과에 추가함
        2. RIGHT OUTER JOIN: INNER JOIN의 결과를 구한 후, 좌측 항 릴레이션의 어떤 튜플과도 맞지 않는 우측 항의 릴레이션에 있는 튜플들에 NULL 값을 붙여서 INNER JOIN의 결과에 추가함
        3. FULL OUTER JOIN
          1. LEFT OUTER JOIN과 RIGHT OUTER JOIN 을 합쳐 놓은 것
    4. CROSS JOIN: WHERE 절이 CROSS JOIN과 함께 사용되지 않은 경우 첫 번째 테이블의 행 수에 두 번째 테이블의 행 수를 곱한 결과 집합을 생성하는 방법
    5. SELF JOIN: 같은 테이블에서 2개의 속성을 연결하여 EQUI JOIN을 하는 JOIN 방법
  3. 트리거 (Trigger)
    1. 트리거 (Trigger): 데이터베이스 시스템에서 데이터의 삽입 (Insert), 갱신 (Update), 삭제 (Delete) 등의 이벤트 (Event)가 발생할 때 관련 작업이 자동으로 수행되게 하는 절차형 SQL
    2. 트리거의 구성: DECLARE, EVENT, BEGIN / END, CONTROL, SQL, EXCEPTION
    3. 트리거의 생성: 트리거를 생성하기 위해서는 CREATE TRIGGER 명령어를 사용함
      1. 표기 형식
        1. CREATE [OR REPLACE] TRIGGER 트리거명 [동작시기 옵션][동작 옵션] ON 테이블명
        2. REFERENCING [NEW | OLD] AS 테이블명
        3. FOR EACH ROW [WHEN 조건식] BEGIN 트리거 BODY; END;
    4. 트리거의 제거: 트리거를 제거하기 위해서는 DROP TRIGGER 명령어를 사용함
      1. 표기 형식
        1. DROP TRIGGER 트리거명;