1cm

자바 프로그래밍_Day_29_GROUP BY & HAVING 본문

국비지원_Java/Java Programming_1

자바 프로그래밍_Day_29_GROUP BY & HAVING

dev_1cm 2021. 10. 6. 19:49
반응형

 

2021.09.29

 

 

     > ORDER BY

       -> SELECT한 컬럼에 대해 정렬을 할 때 작성하는 구문으로 SELECT 구문의 가장 마지막에 작성하며 실행 순서 역시 가장 마지막에 수행된다.

            -> 작성법 : SELECT 컬럼명[, 컬럼명, ...]

                              FROM 테이블명

                              WHERE 조건식

                              ORDER BY 컬럼명 | 별칭 | 컬럼 순번 정렬방식[NULLS FIRST | LAST];

                 -> 정렬방식 : ASC - 오름차순 / DESC - 내림차순

 

 

     > GROUP BY

       -> 그룹 함수는 단 한 개의 결과 값만 산출하기 때문에 그룹이 여러 개일 경우 오류가 발생

       -> 여러 개의 결과 값을 산출하기 위해 그룹 함수가 적용될 그룹의 기준을 GROUP BY절에 기술하여 사용한다.

       -> NULLS FIRST : NULL을 제일 앞으로 올려서 출력

 

 

 

     

       -> 1. 부서별 그룹화 -> 2. 그룹핑된 전체 사원 수

       -> 3. 보너스를 받는 사원 수 -> 4. 급여의 합

 

 

 

 

 

 

     > HAVING

       -> 그룹 함수로 값을 구해올 그룹에 대해 조건을 설정할 때 HAVING절에 기술(WHERE절은 SELECT에 대한 조건)

 

 

     > ROLLUP과 CUBE

       -> 그룹 별 산출한 결과 값의 집계를 계산하는 함수 (소계 / 합계)

 

       -> ROLLUP

            -> 인자로 전달받은 그룹 중 가장 먼저 지정한 그룹별로 추가적 집계 결과 반환

            -> 그룹핑이 끝나고 합,소계를 내주며, null에 대한 소계, 전체에 대한 합계도 내준다.

 

       -> CUBE

            -> 인자로 지정된 그룹들로 가능한 모든 조합 별로 집계한 결과 반환

            -> 지정된 그룹들의 가능한 모든 집계를 내준다.

       -> 좌) ROLLUP / 우) CUBE

 

 

 

       -> 좌) ROLLUP / 우) CUBE

 

 

 

     > GROUPING

       -> ROLLUP이나 CUBE에 의한 집계 산출물이 인자로 전달받은 컬럼 집합의 산출물이면 0 반환 아니면 1을 반환한다.

 

 

     > 집합 연산자

       -> 여러 개의 SELECT 결과물을 하나의 쿼리로 만드는 연산자

 

 

     > 집합 연산자 | UNION

       -> 여러 개의 쿼리 결과를 합치는 연산자로 중복된 영역은 제외하여 합친다. (합집합)

 

 

 

     > 집합 연산자 | UNION ALL

       -> 여러 개의 쿼리 결과를 합치는 연산자로 중복된 영역 모두 포함하여 합침 (합집합)

 

 

 

     > 집합 연산자 | INTERSECT

       -> 여러 개의 SELECT 결과에서 공통된 부분만 결과로 추출(교집합)

 

 

     > 집합 연산자 | MINUS

       -> 선행 SELECT 결과에서 다음 SELECT 결과와 겹치는 부분을 제외한 나머지 부분 추출(차집합)

 

 

 

     > 집합 연산자 | GROUPING SETS

       -> 그룹 별로 처리된 여러 개의 SELECT문을 하나로 합친 결과를 원할 때 사용(집합 연산자 사용과 동일)

 

 

 

 

반응형
Comments