Oracle SQL/Oracle SQL 요약정리

Oracle SQL 요약정리 - 함수(NULL 처리 함수,선택함수-DECODE,CASE WHEN THEN,그룹함수)

yeonee 여니 2023. 6. 1. 13:39
728x90
반응형
SMALL

안녕하세요.

#yeoneeblog 여니입니다 :)

 

 

* NULL : 값이 존재하지 않음을 나타내는 값
  NULL 처리 함수들 : NVL, NVL2, NULLIF

 

<NULL 처리 함수>
    
    NVL(컬럼명, 해당컬럼값이 NULL일 경우 반환할 반환값)
    해당컬럼에 값이 존재할 경우 기존의 칼럼값을 반환
    칼럼에 값이 존재하지 않을경우 내가 제시한 값이 반환됨.

 

* NVL2(컬럼명, 결과값1, 결과값2)
    해당 컬럼값이 NULL이 아닐경우 결과값1 반환
    해당 컬럼값이 NULL일 경우 결과값2 반환

 

* NULLIF(비교대상1, 비교대상2) : 동등비교
    두값이 동일할 경우 NULL반환
    두값이 동일하지않을경우 비교대상1 반환


* 선택함수 : DECODE => SWICH문
                    CASE WHEN THEN 구문 => IF문

 

* 그룹함수 : 데이터들의 합(SUM), 데이터들의 평균(AVG)

  : N개의 값을 읽어서 1개의 결과를 반환(하나의 그룹별로 함수 실행 결과 반환)

 

<선택함수>
    * DECODE(비교대상, 조건값1, 결과값1, 조건값2, 결과값2, 조건값3, 결과값,... , 결과값)
    - 자바의 SWITCH문과 유사
    switch(비교대상){
    case 조건값1 : 결과값 1 break;
    case 조건값2 : 결과값 2 break;
    .....
    default : 결과값
    }
    
    + 비교대상에는 컬럼, 산술연산, 함수가 들어갈수 있다.

 

 *  CASE WHEN THEN 구문
    - DECODE 선택함수와 비교하면 DECODE는 해당 조건검사시 동등비교만을 수행
    
    CASE WHEN THEN 구문의 경우 특정 조건을 내 마음대로 제시 가능
    [표현법]
    CASE WHEN 조건식1 THEN 결과값1
         WHEN 조건식2 THEN 결과값2
         WHEN 조건식3 THEN 결과값3
         ...
         ELSE 결과값
    END;

 

<그룹함수>

- 데이터들의 합(SUM), 데이터들의 평균(AVG)

:  N개의 값을 읽어서 1개의 결과를 반환(하나의 그룹별로 함수 실행 결과 반환)

 

 

1. SUM(숫자타입컬럼) : 해당 칼럼값들의 총 합계를 반환해주는 함수

2. AVG(숫자타입컬럼) : 해당칼럼값들의 평균을 구해서 반환

3. MIN(ANY타입) : 해당 칼럼값들중 가장 작은값을 반환

4. MAX(ANY타입컬럼) : 해당칼럼값들중 가장 큰값을 반환

5. COUNT(*/컬럼이름/DISTINCT 컬럼이름) 조회된 행의 갯수를 세서 반환

- COUNT(*) : 조회결과에 해당하는 모든 행의 갯수를 다 세서 반환

- COUNT(칼럼이름) : 제시한 해당칼럼의 값이 NULL이 아닌 것만 세서 반환

- COUNT(DISTINCT 컬럼이름) : 제시한 해당 칼럼값이 중복값이 있을경우 하나로만 세서 반환

★회사에서 자주 사용 - 게시글 목록 페이지(최하단의 1,2,3... 페이지당 게시글 갯수고 
    몇개가 몇개가 노출될지 만들때 사용(COUNT(*))★★★

 

 

728x90
반응형
LIST