개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* HAVING 절
- 내부 정렬 과정에 의해 그룹화된 결과 집합에 대해 검색 조건 실행

* WHERE 절
- 그룹화하기 전에 먼저 검색 조건 실행

* 실무 데이터베이스 관점
- WHERE 절의 검색 조건을 먼저 실행하는 방법이 효율적
- 그룹화하는 행 집합을 줄여서 내부 정렬 시간을 단축
- SQL 처리 성능 향상


 * 사용 예
- WHERE 절과 HAVING 절에서 일반 조건을 사용한 성능 비교

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

 

* 사용 예
- 학생 수가 4명이상인 학년에 대해서 학년, 학생 수, 평균 키, 평균 몸무게를 출력하여라. 단, 평균 키와 평균 몸무게는 소수점 첫 번째 자리에서 반올림 하고, 출력순서는 평균 키가 높은 순부터 내림차순으로 출력하여라.

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* GROUPING SETS 함수
- GROUP BY 절에서 그룹 조건을 여러 개 지정할 수 있는 함수
- 각 그룹 조건에 대해 별도로 GROUP BY한 결과를 UNION ALL한 결과와 동일

 

 

 

- GROUPING SETS : 괄호를 사용하여 복수 개의 그룹 조건 지정 가능

* 사용 예
- 학과내에서 학년별 인원 수와 태어난 년도별 인원 수를 출력하여라.

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* GROUPING 함수
- 인수로 지정된 칼럼이 ROLLUP이나 CUBE 연산자로 생성된 그룹 조합에서 사용되었는지 여부를 1 또는 0으로 반환
사용하면 0, 아니면 1

 

* 사용 예
- 전체 학생을 학과와 학년별로 그룹화한 후, 학과와 학년별 그룹 인원수, 학과별 인원수, 각 그룹 조합에서 학과와 학년 칼럼이 사용되었는지 여부를 출력하여라

 

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 사용 예
- CUBE 연산자를 이용하여 학과 및 직급별 교수 수, 학과별 교수 수, 전체 교수 수를 출력하여라.

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 사용 예
- 소속 학과별로 교수 급여 합계와 모든 학과 교수들의 급여 합계를 출력하여라

 

 

 

 

 

* 사용 예
- ROLLUP 연산자를 이용하여 학과 및 직급별 교수 수, 학과별 교수 수, 전체 교수 수를 출력하여라.

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

* ROLLUP 연산자
- GROUP BY 절의 그룹 조건에 따라 전체 행을 그룹화하고 각 그룹에 대해 부분합을 구하는 연산자
- GROUP BY 절에 칼럼의 수가 n개이면 ROLLUP 그룹핑 조합은 n+1개


* CUBE 연산자
- ROLLUP에 의한 그룹 결과와 GROUP BY 절에 기술된 조건에 따라 그룹 조합을 만드는 연산자
- GROUP BY 절에 칼럼의 수가 n개이면 CUBE 그룹핑 조합은 2n개

 

 

 

 

+ Recent posts