본문 바로가기
My Image
반응형

전공지식33

[SQLD] 제2장 - DB계층형 질의와 셀프조인(Hierarchical Query & Self Join)_1 DB계층형 질의와 셀프조인(Hierarchical Query & Self Join) 이번시간은 DB계층형 질의와 셀프조인(Hierarchical Query & Self Join)에 대해 알아보겠습니다.먼저 각각의 개념을 알아보고, 실제 데이터베이스에서 어떻게 질의하고 사용하는지 알아보겠습니다.우선, DB계층형 질의를 알아보도록 하겠습니다.DB계층형 질의를 들어가기 앞서, 계층형 데이터가 무엇인지 알아야합니다. 1. 계층형 데이터란? 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의를 사용합니다.여기서 잠깐 계층형 데이터란 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말합니다.예를 들어 사원 테이블에서는 사원들 사이에 상위 사원(관리자)과 하위 사원관계가 존재하.. 2018. 6. 3.
[SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_3 GROUPING SETS 함수 지난시간 : 2018/05/17 - [전공지식/DataBase] - [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_12018/05/18 - [전공지식/DataBase] - [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_2 이번시간은 3번째 시간으로 GROUPING SETS 함수에 대해 알아보겠습니다. GROUPING SETS 를 이용해 더욱 다양한 소계 집합을 만들수 있습니다. GROUP BY SQL를 여러 번 반복하지 않아도 원하는 결과를 쉽게 얻을 수 있습니다. GROUPING SETS 함수는 쉽게 GROUP BY 한 SQL 들을 UNION ALL 해서 보여주는 결과와 같습니다. 먼저 GROUP .. 2018. 5. 20.
[SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_2 CUBE 함수 지난 시간 : 2018/05/17 - [전공지식/DataBase] - [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_1 ROLLUP 에서는 단지 가능한 Subtotal 만을 생성하였지만, CUBE는 결합 가능한 모든 값에 대하여 다차원 집계를 생성합니다.CUBE를 사용할 경우에는 내부적으로는 Grouping Columns의 순서를 바꾸어서 또 한 번의 쿼리를 추가 수행해야 합니다. 뿐만 아니라 Grand Total 은 양쪽의 쿼리에서 모두 생성이 되므로 한 번의 쿼리에서는 제거되어야만 하므로 ROLLUP에 비해 시스템의 연산 대상이 많습니다. 이처럼 모든 경우에 대해서 Subtotal을 생성해야 하는 경우에는 CUBE를 사용하는 것이 바람직합니다. 또한.. 2018. 5. 18.
[SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_1 그룹 함수(GROUP FUNCTION)의 필요성 결산 개념의 업무를 가지는 원가나 판매 시스템의 경우는 소계, 중계, 합계, 총 합계 등 여러 레벨의 결산 보고서를 만드는 것이 중요 업무 중의 하나입니다. 개발자들이 이런 보고서를 작성하기 위해서는 SQL이 포함된 3GL으로 배치 프로그램을 작성하거나, 레벨별 집계를 위한 여러 단계의 SQL을 UNION, UNION ALL로 묶은 후 하나의 테이블을 여러 번 읽어 다시 재정렬하는 복잡한 단계를 거쳐야만 합니다. 하지만, 그룹 함수(GROUP FUNCTION)을 사용한다면, 하나의 SQL로 테이블을 한 번만 읽어서 빠르게 원하는 리포트를 작성할 수 있습니다. 또한, GROUPING 함수와 CASE 함수를 이용하면 쉽게 원하는 포맷의 보고서 작성도 가능합니다.. 2018. 5. 17.
반응형