Oracle SQL - DECODE 함수

2022. 1. 18. 21:51· SQL
목차
  1. Oracle SQL - DECODE 함수란?
  2. DECODE(컬럼명, 조건 1, 결과 1, 조건 2, 결과 2...)
  3. 사용 예제
728x90
반응형

Oracle SQL - DECODE 함수란?

 

오라클 쿼리에서 가장 많이 사용하는 함수 중에 하나이자, 필자도 조건을 처리할 때 자주 사용하는 함수이다.

프로그래밍을 해본 사람은 조건문 if-else 문을 생각하면 이해가 쉬울 것이다. 

그렇지 않은 사람을 위해 간단히 설명하자면 해당 칼럼이 A 이면 B 값을 출력하는 것이다.

 

DECODE(컬럼명, 조건 1, 결과 1, 조건 2, 결과 2...)

DECODE(T1.MAJOR, 'SW', '소프트웨어', 'PE', '체육', 'MU', '음악', '기타 과목')

해석

T1.MAJOR 칼럼이

'SW' 이면 -> '소프트웨어'

'PE'이면 -> '체육'

'MU'이면 -> '음악'

위 3가지에 어느 하나라도 해당하지 않으면 '기타 과목'이라고 조회한다. 

 

사용 예제

WITH TEMP AS(
    SELECT 'SW' MAJOR FROM DUAL UNION ALL
    SELECT 'PE' MAJOR FROM DUAL UNION ALL
    SELECT 'MU' MAJOR FROM DUAL UNION ALL
    SELECT 'ETC' MAJOR FROM DUAL 
)

WITH문은 일종의 임시 테이블을 만들 때 사용한다.

TEMP라는 변수 안에 괄호 안에 있는 내용을 구성한다.

DUAL은 오라클 자체에서 제공되는 테이블로, 간단하게 함수를 이용해 계산 결괏값을 확인할 때 사용되는 테이블이다.

TEMP는 각 과목들의 값들을 MAJOR라는 칼럼에 대입해주고 중복 없이 합집합 연산(UNION ALL)을 수행한다.

SELECT T1.MAJOR FROM TEMP T1;

TEMP를 확인해보자.

우리는 WITH 문과 DUAL 테이블로 하나의 임시 테이블을 만들었다.

자, 이제 DECODE 함수를 적용하여 과목 이름 칼럼을 조회해보자.

 

SELECT T1.MAJOR
   , DECODE(T1.MAJOR, 'SW', '소프트웨어', 'PE', '체육', 'MU', '음악', '기타과목' ) MNAME
FROM TEMP T1
;

MNAME이라는 칼럼과 함께 조건에 맞는 값들이 조회되었음을 볼 수 있다.

 

요약

딱 이 사실만 알면 된다.

기준이 되는 칼럼이 조건 1이면 결과 1..

 

728x90
반응형

'SQL' 카테고리의 다른 글

Oracle SQL - Index Range Scan  (0) 2022.01.22
Oracle SQL - Index Unique Scan  (0) 2022.01.20
[SQL] CREATE TABLE, INSERT, SELECT  (2) 2022.01.10
[SQL] Oracle Database 2 사용자 권한 부여하기  (0) 2022.01.10
[SQL] Oracle Database 1  (0) 2021.12.23
  1. Oracle SQL - DECODE 함수란?
  2. DECODE(컬럼명, 조건 1, 결과 1, 조건 2, 결과 2...)
  3. 사용 예제
'SQL' 카테고리의 다른 글
  • Oracle SQL - Index Range Scan
  • Oracle SQL - Index Unique Scan
  • [SQL] CREATE TABLE, INSERT, SELECT
  • [SQL] Oracle Database 2 사용자 권한 부여하기
runnnerDevHong
runnnerDevHong
배움의 즐거움
250x250
반응형
runnnerDevHong
러닝개발자의 기술블로그
runnnerDevHong
전체
오늘
어제
  • 분류 전체보기 (155)
    • Issue (1)
    • 사이드 프로젝트 (1)
    • JPA (7)
    • Node.js (1)
    • Spring (69)
    • Java (11)
    • 정보처리기사요약 (4)
    • Algorithm (10)
    • Kotlin (14)
    • Python (8)
    • Machine Learning (8)
    • Android (12)
    • Big Data (1)
    • SQL (6)
    • Study (2)
    • Activity (1)
      • 등산 (0)
      • 달리기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • spring5
  • 자바
  • DB
  • 코딩
  • bean
  • mvc
  • java
  • 안드로이드 코틀린
  • 코딩테스트
  • 코린이
  • 백준
  • IT
  • 코틀린
  • 알고리즘
  • Spring MVC
  • 앱린이
  • Spring
  • 소프트웨어학과
  • 스프링
  • jpa

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
runnnerDevHong
Oracle SQL - DECODE 함수
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.