본문 바로가기
Programming/Database

데이터베이스4

by 공부합시다홍아 2020. 6. 1.

1. NVL2 함수 사용하기
   : 데이터가 NULL이 아닐 때 반환할 데이터를 추가로 지정해줄 수 있다. 
   : 열 또는 데이터를 입력하여 해당 데이터가 NULL이 아닐 떄와 NULL 일 때 출력 데이터를 각각 지정
   - NVL2 ( [NULL인지 여부를 검사할 데이터], [앞 데이터가 NULL이 아닐 경우 반환할 데이터 또는 계산식],
   [앞 데이터가 NULL일 경우 반환할 데이터 또는 계산식] );

2. DECODE 함수
   : IF조건문 또는 WITCH-CASE문과 비슷
   : 기준이 되는 데이터를 먼저 지정한 후 해당 데이터 값에 따라 다른 결과 값을 내보내는 함수
   : 한 행에 데이터를 입력받아 한 행으로 결과가 나오는 단일행 함수
   : 마지막 데이터, 즉 조건에 해당하는 값이 없을 때 반환 값을 지정하지 않으면 NULL이 반환
   - DECODE ( [검사 대상이 될 열 또는 데이터, 연산이나 함수의 결과], [조건1],
       [ 데이터가 조건1과 일치할 때 반환할 결과 ], [조건2], [ 데이터가 조건2와 일치할 때 반활할 결과 ],
      ..[ 조건 N ], [ 데이터가 조건N과 일치할 때 반환할 결과 ], 
                    [ 위 조건1~N과 일치한 경우가 없을 때 반환할 결과 ] ) ;

3. CASE 문
   : DECODE 함수와 마찬가지로 특정 조건에 따라 반환할 데이터를 설정 할 때 사용
   : 기존 데이터를 반드시 명시하고 그 값에 따라 반환 데이터를 정하는 DECODE와는 다르다
   : 각 조건에 사용하는 데이터가 서로 상관없어도 가능
   : 기준 데이터 값이 같은 데이터 외에 다양한 조건을 사용 가능
   - CASE [ 검사 대상이 될 열 또는 데이터, 연산이나 함수의 결과(선택) ]
WHEN[조건1] THEN [ 조건1의 결과 값이 TRUE일 때 반환 결과]
WHEN[조건2] THEN [ 조건2의 결과 값이 TRUE일 때 반환 결과]
----
WHEN[조건N] THEN [ 조건N의 결과 값이 TRUE일 때 반환 결과]
ELSE[위 조건1~N과 일치하는 경우가 없을 때 반환할 결과]
END 

4. ROLLUP, CUBE 함수
   : GROUP BY절에 지정할 수 있느 ㄴ특수 함수
   : 그룹화 데이터의 합계를 출력할 때 유용하게 사용
   SELECT[조회할 컬럼1],[컬럼2]....[컬럼N] 
   FROM[조회할 테이블 명 ]
   WHERE[조회할 행을 선별하는 조건식]
   GROUP BY ROLLUP[그룹화 열 지정(여러 개 가능)] 
   GROUP BY CUBE[그룹화 열 지정(여러 개 가능)]

5. GROUP SETS 함수
   : 같은 수준의 그룹화 열이 여러 개일 때 각 열 별 그룹화를 통해 결과 값을 출력
   : 지정한 모든 열을 각각 대그룹으로 처리하여 출력하는 것
   GROUPING SETS [ 그룹화 열 지정(여러 개 지정 가능) ];

6. GROUPING_ID 함수
   : ROLLUP 또는 CUBE 함수로 연산할 때 특정 열이 그룹화되었는지를 출력하는 함수
   : 그룹화 여부를 검사할 열을 하나씩 지정하는 GROUPING과 달리 한 번에 여러 열을 지정 가능

7. PIVOT 함수
   : 행과 열을 변경하여 출력

728x90

'Programming > Database' 카테고리의 다른 글

데이터베이스 : 중간 연습  (0) 2020.06.02
데이터베이스5  (0) 2020.06.02
데이터베이스3  (0) 2020.05.29
데이터베이스2  (0) 2020.05.28
데이터베이스 1  (0) 2020.05.28