데이터 및 C언어/SQL 공부

[SQL] SQL 공부하기 : 함수

  • -
반응형

 

 

[SQL] SQL 공부하기 : 함수

 


 

   ∇ My SQL의 함수 정리 : 단일행/ 복수행/ 윈도우 함수

             함수.

               : 단일 및 복수행 그리고 윈도우 함수로 나뉘며, 특정 규칙에 의해 새로운 결과값으로 반환하는 명령어.

 


         1. 단일행 함수.[Single-Row Functions] - 숫자,문자,날짜, 형 변환, 일반

                : 각 행에 개별적으로 적용되어 하나의 결과를 반환하는 함수입니다.

                   주로 문자열 처리, 수치 계산, 날짜 처리 등에 사용됩니다.

 

               1-1. 문자열 함수.

                        - UPPER(str) : 문자열을 대문자로 변환.

                        - LOWER(str) : 문자열을 소문자로 변환.

                        - LEFT(문자, N) : 왼쪽부터 N만큼 반환

                        - RIGHT(문자,N): 오른쪽부터 N만큼 반

                        - LENGTH(str) : 문자열의 길이를 반환.

                        - SUBSTGRING(str, start, length) : 문자열의 일부를 추출.

 

               1-2. 숫자 함수.

                        -ROUND() : 숫자를 반올림.

                        - ABS(num) : 절대값을 반환.

                        - CEIL(num) : 올림

                        - FLOOR(num) : 내림.

 

              1-3. 날짜 함수.

                       - NOW() : 현재 날짜와 시간을 반환.

                       - CURDATE() : 현재 날짜를 반환.

                       - YEAR(date) : 연도 추출.

                       - MONTH(date) : 월 추출

                       - DAY(date) : 일 추출

                       - DATE_ADD(날짜, INTERVAL) : INTERVAL만큼 더한 값 반환

                       - DATEDIFF(날짜a, 날짜b) : 날짜a-날짜b 일수 반

 

           1-4, 형변환 함수.

                     -DATE_FORMAT(날짜,형식) :날짜형식으로 변환.

                     -CAST(형식a, 형식b) : 형식a를 형식b로 변환

 

 

          1-5 일반 함수.

                 -IFNULL(A,B) : A가 NULL이면 B를 반환, 아니면 A 반환

                 -CASE WHEN THEN~ELSE: 여러 조건별 반환

              #단일 행 함수의 특징.

                    - 단일 행 함수는 모든 행에 대하여 각각 함수가 적용되어 반환합니다.

                    - 함수들을 중첩해서 사용가능합니다.

 

 


 

        2. 복행 함수.[Aggregate Functions] - 집계형, 그룹

                :복수 행 함수는 여러  행을 입력으로 받아 하나 결과를 반환합니다.

                 주로 집계 연산에 사용됩니다.

               2-1. 집계 함수

                  - COUNT(*) : 행의 수를 계산

                  - SUM(column) : 합계를 계산

                  - AVG(column) : 평균을 계산

                  - MAX(column) : 최대값을 찾음.

                  - MIN(column) : 최소값을 찾음.

 

             2-2 그룹함수.

                  -WITH ROLLUP : GROUP BY 열들을 오른쪽에서 왼쪽순으로 그룹

                        : GROUP BY(열1,열2) WITH ROLLUP

 

            #복수 행 함수 특징.

                 - 복수 행 함수는 여러 행들이 하나의 결과값으로 반환.

                 - 주로 GROUP BY절과 함께 사용됩니다.

 

 


 

          3. 윈도우 함수.[Window Functions]. -순위, 집계누적.

 

               : 윈도우(부분집합) 함수는 여러 행에 걸쳐 수행되지만 각 행에 대해 독립적으로 결과를 반환합니다. 

                 윈도우 함수는 주로 데이터 분석과 통계 계산에 사용됩니다.

                ORDER BY로 행과 행간의 순서를 정하며, PARTITION BY로 그룹화가 가능합니다.

 

 

순위

 

집계(누적)

 

 

                  - ROW_NUMBER() : 각 행에 고유한,순차적인 번호를 할당.

 

 

                  - RANK() : 동일한 값에 대해 같은 순위를 부여(다음 순위는 건너뜀)

 

                  - DENS_RANK(): RANK와 유사하지만 다음 순위를 건너뛰지 않음.

                  - LEAD(column, offset) : 현재 행을 기준으로 다음 행의 값을 참조.

                  - LAG(column, offset) : 현재 행을 기준으로 이전 행의 값을 참조.

 

         

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.