We have created a awesome theme
Far far away,behind the word mountains, far from the countries

INFO ½ÇÀü DB¸ðµ¨¸µ°ú SQL°úÁ¤

INFO

½ÇÀü DB¸ðµ¨¸µ°ú SQL°úÁ¤
Á¶È¸¼ö 345
Á¦¸ñ Chapter4_SQL : ¿¹Á¦¸ðÀ½8
ÀÛ¼ºÀÚ °ü¸®ÀÚ
ÀÛ¼ºÀÏÀÚ 2021-12-03
¡á¿¹ 4_3_7 || NTILE ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ±×·ì ÁöÁ¤ ______SELECT SABUN, ENG_NAME, SALARY, JOIN_GBN_CODE, NTILE(6) OVER( PARTITION BY JOIN_GBN_CODE ORDER BY SALARY DESC) AS NTILE FROM INSA WHERE JOIN_GBN_CODE = 'FRE';


¡á¿¹ 4_3_8 || NTILE ÇÔ¼öÀÇ ³ª¸ÓÁö °ª ó¸® SELECT SABUN, ENG_NAME, SALARY, JOIN_GBN_CODE, NTILE(7) OVER( PARTITION BY JOIN_GBN_CODE ORDER BY SALARY DESC) AS NTILE FROM INSA WHERE JOIN_GBN_CODE = 'FRE';


¡á¿¹ 4_3_9 || NTITLE ºÐ¼® ÇÔ¼ö »ç¿ë ¿¹Á¦_2 SELECT * FROM ( SELECT SABUN, ENG_NAME, SALARY, JOIN_GBN_CODE, NTILE(7) OVER( PARTITION BY JOIN_GBN_CODE ORDER BY SALARY DESC ) AS SAL_G FROM INSA WHERE SUBSTR(NVL(JOIN_DAY,SUBSTR(SABUN,1,8)),1,4) = '2013' ) WHERE JOIN_GBN_CODE = 'RGL' AND SAL_G = '1';

¡á¿¹ 4_3_10 || SALARYÀÇ µ¥ÀÌÅÍ °ªÀ¸·Î ´©Àû ºÐÆ÷¸¦ ÃßÃâ SELECT * FROM (SELECT SABUN, ENG_NAME, SALARY, JOIN_GBN_CODE, ROW_NUMBER() OVER(PARTITION BY JOIN_GBN_CODE ORDER BY SALARY DESC) AS ROW_NUMBER, ROUND(CUME_DIST() OVER (PARTITION BY JOIN_GBN_CODE ORDER BY SALARY),3) AS CUME_DIST FROM INSA ORDER BY JOIN_GBN_CODE DESC ) WHERE ROW_NUMBER <= 3;


¡á¿¹ 4_3_11 || À©µµ¿ì ºÐ¼® ÇÔ¼ö Àû¿ë ¿¹ SELECT SABUN, ENG_NAME, SALARY, JOIN_DAY, JOIN_GBN_CODE, SUM(SALARY) OVER(PARTITION BY JOIN_GBN_CODE ORDER BY SABUN ROWS 1 PRECEDING) AS TOTAL_SAL FROM INSA WHERE JOIN_DAY < TO_CHAR(ADD_MONTHS(SYSDATE,-36),'YYYYMMDD');


¡á¿¹ 4_3_12 || FIRST_VALUE SELECT SABUN, ENG_NAME, NVL(JOIN_DAY,SUBSTR(SABUN,1,8)) AS JOIN_DAY, SALARY, FIRST_VALUE(ENG_NAME) OVER(PARTITION BY SUBSTR(JOIN_DAY,1,6) ORDER BY SABUN) AS START_DAY FROM INSA WHERE JOIN_GBN_CODE='RGL';


¡á¿¹ 4_3_13 || LAST_VALUE SELECT SABUN, ENG_NAME, NVL(JOIN_DAY,SUBSTR(SABUN,1,8)) AS JOIN_DAY, SALARY, LAST_VALUE(ENG_NAME) OVER(PARTITION BY SUBSTR(JOIN_DAY,1,6) ORDER BY SABUN) AS FINAL_DAY FROM INSA WHERE JOIN_GBN_CODE='RGL';


¡á¿¹ 4_3_14 || FIRST_VALUE & LAST_VALUE SELECT SABUN, ENG_NAME, NVL(JOIN_DAY,SUBSTR(SABUN,1,8)) AS JOIN_DAY, SALARY, FIRST_VALUE(ENG_NAME) OVER(PARTITION BY SUBSTR(JOIN_DAY,1,6) ORDER BY SABUN) AS START_DAY, LAST_VALUE(ENG_NAME) OVER(PARTITION BY SUBSTR(JOIN_DAY,1,6) ORDER BY SABUN ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS FINAL_DAY FROM INSA WHERE JOIN_GBN_CODE='RGL';


¡á¿¹ 4_3_15_1 || LEAD & LAG ºÐ¼® ÇÔ¼ö »ç¿ë SQL1 SELECT SABUN, ENG_NAME, JOIN_DAY, JOIN_GBN_CODE, LEAD(ENG_NAME,1) OVER(PARTITION BY JOIN_GBN_CODE ORDER BY SABUN) AS NEXT_MEM, LAG(ENG_NAME,1) OVER(PARTITION BY JOIN_GBN_CODE ORDER BY SABUN) AS PREV_MEM FROM INSA WHERE JOIN_GBN_CODE='RGL';


¡á¿¹ 4_3_15_2 || LEAD & LAG ºÐ¼® ÇÔ¼ö »ç¿ë SQL2 SELECT SABUN, ENG_NAME, JOIN_DAY, JOIN_GBN_CODE, LEAD(ENG_NAME,1) OVER(PARTITION BY JOIN_GBN_CODE ORDER BY SABUN) AS NEXT_MEM, LAG(ENG_NAME,1) OVER(PARTITION BY JOIN_GBN_CODE ORDER BY SABUN) AS PREV_MEM FROM INSA WHERE SABUN = :SABUN;


¡á¿¹ 4_3_16 || LEAD & LAG ºÐ¼® ÇÔ¼ö »ç¿ë SQL3 SELECT * FROM ( SELECT SABUN, ENG_NAME, JOIN_DAY, JOIN_GBN_CODE, LEAD(ENG_NAME,1) OVER(PARTITION BY JOIN_GBN_CODE ORDER BY SABUN) AS NEXT_MEM, LAG(ENG_NAME,1) OVER(PARTITION BY JOIN_GBN_CODE ORDER BY SABUN) AS PREV_MEM FROM______ INSA ) WHERE SABUN = :SABUN;
÷ºÎÆÄÀÏ