database

    [SQL] WINDOW 함수

    [SQL] WINDOW 함수

    WINDOW 함수행과 행간의 관계를 쉽게 정의하기 위해 만든 함수AVG, CORR, COUNT, FIRST_VALUE, LAST_VALUE, MAX, MIN, NTH_VALUE, STDDEV, SUM, VARIANCE 등 함수와 사용가능 FIRST_VALUE(EXPR)파티션별 윈도우에서 가장 먼저 나온 값을 구한다.123456789SELECT DEPARTMENT_ID, EMP_NAME, HIRE_DATE, SALARY , FIRST_VALUE(SALARY) OVER (PARTITION BY DEPARTMENT_ID ORDER BY HIRE_DATE ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS ALL_SALARY , FIRST_VALUE(SA..

    [SQL] 분석 함수

    [SQL] 분석 함수

    분석 함수테이블에 있는 로우에 대해 특정 그룹별로 집계값을 산출할 때 사용한다.GROUP BY 절이 그룹별로 로우 수가 줄어들게 하는데 반해, 집계 함수는 로우 손실 없이 집계값을 산출 할 수 있다.분석 함수에서 사용하는 로우별 그룹을 WINDOW 라고 하는데, 집계값 계산을 위한 로우의 범위를 결정하는 역할을 한다. 형태123분석함수(매개변수) OVER (PARTITION BY EXPR1, EXPR2, ... ORDER BY EXPR3, EXPR4, ... WINDOW ...)cs 종류AVG / SUM / MAX / MIN / COUNT / CUME_DIST / DENSE_RANK / PERCENT_RANK / FIRST / LAST / LAG / LEAD / ROW_NUMBER 등 절 설명PARTIT..

    [SQL] WITH절과 순환 서브쿼리

    [SQL] WITH절과 순환 서브쿼리

    WITH 절별칭으로 사용한 SELECT문의 FROM절에 다른 SELECT구문의 별칭 참조가 가능하다.12345WITH 별칭1 AS (서브쿼리) ,별칭2 AS(서브쿼리)...SELECTFROM 별칭1, 별칭2...cs 123456789101112131415161718WITH B2 AS (SELECT PERIOD , REGION , SUM(LOAN_JAN_AMT) JAN_AMT FROM KOR_LOAN_STATUS GROUP BY PERIOD, REGION) , C AS (SELECT B2.PERIOD , MAX(B2.JAN_AMT) MAX_JAN_AMT FROM B2 , ( SELECT MAX(PERIOD) MAX_MONTH FROM KOR_LOAN_STATUS GROUP BY SUBSTR(PERIOD, ..

    [SQL] 계층형 쿼리

    [SQL] 계층형 쿼리

    계층형 쿼리 12345SELECT EXPR1, EXPR2FROM 테이블WHERE 조건START WITH [최상위 조건]CONNECT BY [NOCYCLE] [PRIOR 계층형 구조 조건];cs START WITH 조건계층형 구조에서 최상위 계층의 로우를 식별하는 조건을 명시한다.CONNECT BY 조건계층형 구조가 어떤 식으로 연결되는지를 기술. PRIOR는 계층형 쿼리에서만 사용할 수 있는 연산 계층형 쿼리의 내부적 처리절차1. 조인2. START WITH절의 최상위 계층 로우를 선택3. CONNECT BY절의 구문에 따라 계층형 관계를 파악, 자식 로우 선택.4. 조인을 제외한 WHERE 조건에 해당하지 않는 로우를 걸러냄. 예제123456SELECT DEPARTMENT_ID , LPAD(' ', 3..

    [SQL] 집합 연산자

    [SQL] 집합 연산자

    집합 연산자데이터 집합을 대상으로 연산을 수행하는 연산자를 말한다. UNION, UNION ALL, INTERSECT, MINUS가 있다. 1. UNION합집합을 의미한다. 두 개의 데이터 집합이 있을 때, 각 집합의 원소를 모두 포함한 결과를 출력한다. 한국의 수출 품목을 조회해보자.1234SELECT GOODSFROM EXP_GOODS_ASIAWHERE COUNTRY = '한국'ORDER BY SEQ;cs 다음으로, 일본의 수출 품목을 조회한다.1234SELECT GOODSFROM EXP_GOODS_ASIAWHERE COUNTRY = '일본'ORDER BY SEQ;cs 한국과 일본의 수출품목을 조회해 각각 하나의 데이터 집합을 얻어냈다.그렇다면, 한국과 일본 모두의 수출품목을 중복값 없이 조회하려면 ..

    [SQL] 데이터베이스 객체_시노님(SYNONYM)

    시노님(Synonym) : 동의어/* * 개정 이력 * 2017.11.28 첫번째 줄 오타 수정('동의오'->'동의어') */ 데이터베이스 객체는 각자 고유한 이름이 있다. 이 객체들에 대한 동의어를 만드는 것이 시노님이다.가령, 내가 이 글을 작성하는데 나를 아는 사람들은 제외한, 나를 모르는 사람들은 나를 '논리코더'로 알고있을 것이다. 이때, 내 실명이 객체의 이름이고, '논리코더'는 시노님이라고 볼 수 있다. 시노님을 사용하는 이유1. 데이터베이스의 투명성을 제공한다.2. 시노님이 참조하고있는 객체의 이름이 바뀌어도 시노님을 이용한 SQL문은 수정될 필요가 없다.3. 시노님의 원 객체를 숨길 수 있어 보안에 유리하다. 이 부분은 뷰(VIEW)와 유사한 특징이다. 시노님 생성12CREATE OR R..

반응형