Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 컴퓨터과학
- 프로그래밍
- ComputerScience
- 만일내가인생을다시산다면
- 리액트
- 독서
- 서평
- Python
- 티스토리챌린지
- 김미경의마흔수업
- 오블완
- 책
- 웹페이지만들기
- html
- 반순혁
- 웹퍼블리싱
- 자바스크립트
- 개발
- 코딩
- JavaScript
- 파이썬
- css
- K배터리레볼루션
- 오라클
- 자바
- 데이터베이스
- K배터리
- 라플라스의마녀
- Java
- database
Archives
- Today
- Total
JiYoung Dev 🖥
[database 고급] case문 (2023.08.08) 본문
조인 문법
-- 조인으로 가져오는 경우
SELECT A.CUST_ID
, A.CUST_NAME
, A.SCORE
, B.GRADE_NAME
FROM TB_CUST A
, TB_GRADE B
WHERE A.SCORE BETWEEN B.STS_SCORE AND B.END_SCORE;
서브쿼리 문법
-- 서브 쿼리로 가져오는 경우
SELECT A.CUST_ID
, A.CUST_NAME
, A.SCORE
, (
SELECT GRADE_NAME
FROM TB_GRADE
WHERE A.SCORE BETWEEN STS_SCORE AND END_SCORE) AS GRADE_NAME
FROM TB_CUST A;
DECODE 문법
-- DECODE로 가져오는 경우
SELECT A.CUST_ID
, A.CUST_NAME
, A.SCORE
, DECODE(CEIL(SCORE/20), 0, '브론즈', 1, '브론즈', 2, '실버', 3, '골드', 4, 'VIP', 5, 'VVIP') AS GRADE_NAME
FROM TB_CUST A;
score/20 을 했을 때 0 이면 '브론즈', 1이면 브론즈, 2이면 실버 .... → switch문과 유사함
-- 함수
- CEIL : 올림
- ROUND : 반올림
- FLOOR : 내림
CASE 문법
-- CASE 문법으로 가져올 경우
SELECT A.CUST_ID
, A.CUST_NAME
, A.SCORE
, CASE WHEN SCORE > 100 THEN '범위오류'
WHEN SCORE >= 81 THEN 'VVIP'
WHEN SCORE >=61 THEN 'VIP'
WHEN SCORE >=41 THEN '골드'
WHEN SCORE >=21 THEN '실버'
WHEN SCORE >= 0 THEN '브론즈'
ELSE '범위오류'
END AS GRADE_NAME
FROM TB_CUST A;
주의 !! 위에서부터 실행하여 조건이 맞으면 아랫부분은 검사하지 않고 끝을 냄
'full stack > database' 카테고리의 다른 글
[database 고급] CTAS (2023.08.08) (0) | 2023.08.08 |
---|---|
[database 고급] merge (2023.08.08) (0) | 2023.08.08 |
[database 고급] EXISTS (2023.08.07) (0) | 2023.08.07 |
[Oracle Database] ROWNUM, TOP-N, 페이징 기술, 서브쿼리 (2023.03.28~29) (0) | 2023.03.28 |
[Oracle Database] TCL, DCL (2023.03.27) (0) | 2023.03.27 |