분류 전체보기

● 계층형 질의  - 하나의 테이블 내 각 행끼리 관계를 가질 때, 연결고리를 통해 행과 행 사이의 계층(depth)을 표현하는 기법    ex)DEPT2 에서의 부서별 상하관계  - PRIOR 의 위치에 따라 연결하는 데이터가 달라짐 ** 문법 ** START WITH : 데이터를 출력할 시작 지정하는 조건** CONNECT BY PRIOR : 행을 이어나갈 조건** NOCYCLE : 순환이 발생하면 무한 루프가 될 수 있기 때문에 이를 방지하고자 사용 예제) DEPT2 테이블에 대해 각 부서의 레벨을 출력(최상위 부서가 1레벨)** 올바른 예☞ 사장실의 DCODE 를 넘겨 다시 각 행들의 PDEPT 와 비교해야 하므로 먼저 정해져야 하는 값의 방향에  PRIOR 전달! ** 잘못된 예 예제) 계층형 ..
● TOP N QUERY  - 페이징 처리를 효과적으로 수행하기 위해 사용  - 전체 결과에서 특정 N개 추출     예) 성적 상위자 3명 ● TOP-N 행 추출 방법  1. ROWNUM  2. RANK  3. FETCH  4. TOP N(SQL Server) ● ROWNUM  - 출력된 데이터 기준으로 행 번호 부여  - 절대적인 행 번호가 아닌 가상의 번호이므로 특정 행을 지정할 수 없음(=연산 불가)  - 첫번째 행이 증가한 이후 할당되므로 '>' 연산 사용 불가(0은 가능) 예제) ROWNUM 을 출력 형태 예제) ROWNUM 잘못된 사용1☞ 크다 조건 전달 불가 예제) ROWNUM 잘못된 사용 2☞ 항상 불변하는 절대적 번호가 아니므로 '=' 연산자 단독 전달 불가 예제) ROWNUM 올바른 ..
● WINDOW FUNCTION  - 서로 다른 행의 비교나 연산을 위해 만든 함수  - GROUP BY 를 쓰지 않고 그룹 연산 가능  - LAG, LEAD, SUM, AVG, MIN, MAX, COUNT, RANK ** 문법 ** PARTITION BY 절 : 출력할 총 데이터 수 변화 없이 그룹연산 수행할 GROUP BY 컬럼 ** ORDER BY 절  - RANK 의 경우 필수(정렬 컬럼 및 정렬 순서에 따라 순위 변화)  - SUM, AVG, MIN, MAX, COUNT 등은 누적값 출력 시 사용 ** ROWS|RANGE BETWEEN A AND B  - 연산 범위 설정  - ORDER BY 절 필수 ※ PARTITON BY, ORDER BY, ROWS... 절 전달 순서 중요(ORDER BY ..
● 그룹함수  - 숫자함수 중 여러값을 전달하여 하나의 요약값을 출력하는 다중행 함수  - 수학/통계 함수들(기술통계 함수)  - GROUP BY 절에 의해 그룹별 연산 결과를 리턴 함  - 반드시 한 컬럼만 전달  - NULL 은 무시하고 연산 ● COUNT  - 행의 수를 세는 함수  - 대상 컬럼은 * 또는 단 하나의 컬럼만 전달 가능(* 사용시 모든 컬럼의 값이 널일 때만 COUNT 제외)  - 문자, 숫자, 날짜 컬럼 모두 전달 가능  - 행의 수를 세는 경우 NOT NULL 컬럼을 찾아 세는 것이 좋음(PK 컬럼) **문법 예제) 각 컬럼의 COUNT 결과☞ 널을 포함한 컬럼은 전체 행의 수와 다르게 출력됨 ● SUM  - 총 합 출력  - 숫자 컬럼만 전달 가능 예제) 급여의 전체 총 합  ..
신슨형의 정상화
'분류 전체보기' 카테고리의 글 목록 (18 Page)