DBMS/SQLQuery(29)
-
Window Function
1. BETWEEN UNBOUNDED PRECEDING AND n PRECEDING: 현재 행부터 n개 행 이전까지의 범위를 정의한다. 2. BETWEEN UNBOUNDED AND CURRENT ROW: 첫 번째 행부터 현재 행까지의 범위를 정의한다. 3. BETWEEN UNBOUNDED PRECEDING AND n FOLLOWING: 현재 행부터 n개 행 이후까지의 범위를 정의한다. 4. BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING: 데이터셋 전체를 포함하는 범위를 정의한다. 5. BETWEEN n PRECEDING AND n PRECEDING: 현재 행으로부터 n개 행 이전부터 n개 행 이전까지의 범위를 정의한다. 즉, 동일한 수의 행이 전후로 포함된다..
2024.03.08 -
계층쿼리에서 행의 관계파악
■ CONNECT BY ROOT 쿼리의 시작점을 지정하여 계층 구조의 루트 노드를 반환하고 계층 구조의 가장 상위 레벨을 식별하는 데 사용된다. SELECT EMPNO, ENAME, LEVEL, CONNECT_BY_ROOT ENAME AS ROOT_NAME,JOB,MGRFROM EMPCONNECT BY PRIOR EMPNO = MGRSTART WITH MGR IS NULL;■ CONNECT BY ISLEAF: 현재 행이 말단 노드인지 여부를 나타내는 논리값을 반환한다. SELECT EMPNO, ENAME, CONNECT_BY_ISLEAF AS IS_LEAF,MGR,JOBFROM EMPSTART WITH MGR IS NULLCONNECT BY PRIOR EMPNO = MGR; 계층 쿼리에서 현재..
2024.03.07 -
속성 별 최대 값 행만 출력
SELECT REGION, PRODUCT, AMOUNT, MAX(AMOUNT) OVER (PARTITION BY PRODUCT) AS MAX FROM SALES; SELECT REGION,PRODUCT,AMOUNT FROM (SELECT REGION, PRODUCT, AMOUNT, MAX(AMOUNT) OVER (PARTITION BY PRODUCT) AS MAX FROM SALES) WHERE AMOUNT=MAX; - 각 제품 그룹 내에서 최대 AMOUNT를 가진 행을 선택하는 것이 목적 - PARTITION BY PRODUCT: 제품(Product)으로 그룹을 나눈다. - MAX(AMOUNT) OVER (PARTITION BY PRODUCT) AS MAX: 각 그룹 내에서 최대 AMOUNT 값을 계산..
2024.03.06 -
SUM() OVER (PARTITION BY) 그룹별 합계 정렬
SELECT REGION,PRODUCT, AMOUNT, SUM(AMOUNT) OVER(PARTITION BY PRODUCT ) FROM SALES; SELECT REGION,PRODUCT, AMOUNT, SUM(AMOUNT) OVER(PARTITION BY PRODUCT ORDER BY AMOUNT) FROM SALES; 주어진 쿼리는 각 제품 그룹 내에서 AMOUNT를 오름차순으로 정렬한 후, 각 행에 대해 그룹 내에서 누적 합계를 계산합니다. 이는 SUM() 함수에 ORDER BY 절이 사용되었기 때문입니다. 주어진 쿼리에서 PRODUCT 그룹별로 AMOUNT를 내림차순으로 정렬하면서 그룹별 총합계를 유지하기 위해서는 다음과 같이 `ORDER BY` 절을 사용할 수 있습니다. SELECT REGIO..
2024.03.06 -
ROWS BETWEEN unbounded preceding and unbounded FOLLOWING
SELECT MGR, ENAME, HIREDATE, SAL,SUM(SAL) OVER(PARTITION BY MGRORDER BY HIREDATEROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS MGR_SUMFROM EMP;SELECT MGR, ENAME, HIREDATE, SAL,SUM(sal) OVER(PARTITION BY MGR ORDER BY HIREDATEROWS BETWEEN unbounded preceding and unbounded FOLLOWING) AS total from emp; - ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING을 사용하여 현재 행의 이전 행과 다음 행을 포함하여 계산한다. 즉, 현재 행을 중심으로 이전 행과..
2024.03.04 -
ROLL UP CUBE GROUPING SETS
ROLL UP 컬럼 순서에 영향을 미치며 지정된 열의 하위 합계와 총합계를 한 번에 계산할 수 있다. ROLLUP을 사용하면 Region과 Product의 조합뿐만 아니라 각 Region과 전체 Product, 전체 Region에 대한 판매량 합계도 계산된다. SELECT Region, Product, SUM(Amount) AS Total FROM Sales GROUP BY Region, Product UNION ALL SELECT Region, NULL AS Product, SUM(Amount) AS Total FROM Sales GROUP BY Region UNION ALL SELECT NULL AS Region, NULL AS Product, SUM(Amount) AS Total FROM Sales..
2024.03.03