(오라클) DECODE, CASE-SQL문에서의 IF절
2021. 12. 24. 19:33ㆍ오라클(Oracle) 데이터 베이스
조건문
"-하는 걸 보고싶다면"
DECODE
함수의 기준이 되는 데이터를 지정한 후, 해당 데이터 값에 따른 결과 값을 내보내는 함수
SELECT 검색할 열들
DECODE (조건 대상이 될 열
조건 1, 데이터가 조건 1과 일치할 때 반환할 결과
조건 2, 데이터가 조건 2과 일치할 때 반환할 결과
조건 3, 데이터가 조건 3과 일치할 때 반환할 결과
조건 n, 데이터가 조건 n과 일치할 때 반환할 결과)AS 별칭
FROM 출처 테이블
CASE
함수의 기준이 되는 데이터를 지정한 후, 해당 데이터 값에 따른 결과 값을 내보내는 함수
각 조건에 사용하는 데이터가 서로 달라도 OK!
SELECT 검색할 열들
CASE (조건 대상이 될 열
WHEN 조건 1 THEN 데이터가 조건 1과 일치할 때 반환할 결과
WHEN 조건 2 THEN 데이터가 조건 2과 일치할 때 반환할 결과
WHEN 조건 3 THEN 데이터가 조건 3과 일치할 때 반환할 결과
WHEN 조건 n THEN 데이터가 조건 n과 일치할 때 반환할 결과
END
FROM 출처 테이블
****아래 문제들은 학원에서 내 준 개별적인 테이블, 개별적인 문항들예욤****
복습차원일뿐
- Student 테이블을 사용하여 학생들의 이름(name), 주민번호(jumin), 성별을 출력하세요.
성별은 주민번호(jumin) 컬럼을 이용하여 7번째 숫자가 1일경우 "남자", 2일 경우 "여자"로 출력하세요.
SELECT NAME, JUMIN
DECODE(SUBSTR(JUMIN,7,1),1, '남자', 2, '여자' AS 성별
FROM STUDENT;
SELECT NAME, JUMIN
CASE SUBSTR(JUMIN,7,1)
WHEN '1' THEN '남자'
WHEN '2' THEN '여자''
END AS 성별
FROM STUDENT;
- 테이블을 참조하여 학생의 이름(name)과 전화번호(tel), 지역명을 출력하세요. (단 지역번호가 02면 서울, 031이면 경기, 051이면 부산, 052이면 울산, 055이면 경남, 나머지는 기타로 표시하세요.)(case문 사용)
SELECT NAME, TEL
CASE SUBSTR(TEL,1, INSTR(TEL, ')') -1)
WHEN '02' THEN '서울'
WHEN '031' THEN '경기'
WHEN '051' THEN '부산'
WHEN '052' THEN '울산'
WHEN '055' THEN '경남'
ELSE '기타'
END AS 지역명
FROM STUDENT;
'오라클(Oracle) 데이터 베이스' 카테고리의 다른 글
(오라클) 트랜잭션, TLC, LOCK, 읽기 일관성 (3) | 2021.12.23 |
---|---|
(오라클) 제약 조건 (1) | 2021.12.22 |
조인(Join): 여러 테이블을 하나의 테이블처럼/ 등가 조인/ 비등가 조인 (0) | 2021.12.11 |
단일행 서브 쿼리 (0) | 2021.12.10 |
오라클(Oracle) 조인 총정리: 나만 알아볼 수 있을 듯? (0) | 2021.12.08 |