ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [한기교] SQL 활용 필기(11) - 집합연산자, 집단연산자
    비전공자 공부일기/:: DB - SQL 2020. 5. 4. 14:44

    < 집합 연산자 >

    ㅁ 집합 연산자의 개념

    : 테이블을 구성하는 튜플 집합에 대한 테이블의 부분집합을 반환하는 연산자

     

    ㅁ 집합 연산자의 종류

    - UNION : 합집합

    - INTERSECT : 교집합

    - EXCEPT : 차집합 (Oracle에서는 MINUS로 사용)

     

     

    ㅁ UNION과 UNION ALL
    - 집합 연산자를 대상 테이블을 집합으로 봄
    - 따라서 결과도 집합임  (중복을 허용하지 않음)
    - 필요에 따라서 중복된 결과도 보고 싶은 경우 (UNION ALL을 사용)

     

     

    < 외부 합집합 >

    ㅁ 합병 호환성 
    - ∪, ∩, - 연산의 피연산자(릴레이션)들이 지켜야 할 제약 조건 

    ㅁ 합병 호환성의 불일치 
    - 두 질의 결과는 합병 호환성을 만족하지 않음 
    - 합병 호환성이 만족되지 않는 두 테이블의 합집합 구하기 : 외부 합집합(U+) 

    ㅁ SQL에서의 외부 합집합 
    - 두 질의 결과의 속성 수와 타입이 일치되게 만듦 
    - NULL은 모든 속성에서 사용할 수 있는 속성값임 
    - 이를 이용하여 강제로 동일한 구조가 되게 함

     

    ㅁ 집단 함수
    : 테이블의 전체 행을 하나 이상의 컬럼을 기준으로 그룹화 하여 그 그룹 별 통계값을 출력하는 함수

    - SUM : 그룹의 합계
    - AVG : 그룹의 평균
    - COUNT : 그룹의 개수
    - MAX : 그룹의 최대값
    - MIN : 그룹의 최소값
    - STDEV : 그룹의 표준편차
    - VAR : 그룹의 분산

     

    - 분산(VAR)
    : 각 값이 평균과 얼마나 떨어져 있는지에 대한 통계값
    각 값과 평균의 차에 대한 차(즉, 편차)의 제곱의 평균

    (sumi=1,n (xi- M)2)/N 


    - 표준 편차(STDEV)
    : 분산의 경우 편차에 대한 제곱으로 나타냄으로 평균과의 단위가 맞지 않음
    단위를 맞추기 위하여 분산의 제곱근을 표준편차로 사용함

    STDEV = VAR1/2

     

    - COUNT(*)
    : 테이블에서 조건을 만족하는 행의 개수를 반환하는 함수

    - COUNT(속성명)
    : 속성값이 NULL아닌 속성값의 개수

    - COUNT(DISTINCT 속성명)
    : 속성값이 NULL이 아니며 중복되지 않는 속성값들의 개수

     

     

    < 집단 연산자 >


    ㅁ GROUP BY
    : 특정 속성을 기준으로 테이블 전체를 그룹으로 나누기 위한 절

    SELECT 컬럼_리스트 
    FROM 테이블명 
    WHERE 조건 
    GROUP BY 컬럼_리스트 

    - SELECT 절에는 집단 연산자나 GROUP BY에 사용한 속성명 만을 사용할 수 있음
    - 공통되는 속성값으로 그룹핑을 했으므로, 각 그룹에서 개별 튜플을 접근할 수 없음

     

     

    ㅁ HAVING
    - 각 그룹에 대한 제약 조건을 기술할 때 사용
    - HAVING 절은 GROUP BY 절의 종속절
    - WHERE 절은 테이블 전체에 대한 제약 조건을 나타냄

     


    ㅁ 다중 속성 GROUP BY
    - 하나 이상의 속성들을 이용하여 그룹을 나누고, 그룹별로 다시 서브 그룹을 나누고자 할 때

    GROUP BY 컬럼1, 컬럼2, …, 컬럼n 

     

    ㅁ ROLLUP 연산자
    --- GROUP BY 절의 그룹 조건에 따라서 그룹핑 하고 각 그룹에 대한 부분합을 구하는 연산자
    --- GROUB BY절에 n개의 속성 명이 있으면, n+1개의 그룹핑 조합이 나옴

     

    ㅁ CUBE 연산자
    : GROUP BY 절의 그룹 조건에 따라서 그룹핑하고 각 그룹의 조합에 따른 부분합을 구하는 연산자
    - GROUB BY 절에 n 개의 속성명이 있으면 2n개의 그룹핑 조합이 나옴

    ㅁ GROUPING SETS 함수
    - 경우에 따라서 여러 개의 GROUP조건을 표시하고 싶은 경우, 부서,직급별 합을 보고 싶지 않은 경우 GROUPING SETS 함수를 이용

    댓글

coding wanee