본문 바로가기
데이터베이스/SQL

SQL IF문을 SQL로 해보자 DECODE, CASE

by ADELA_J 2023. 11. 23.

<DECODE>

- IF문을 SQL로 하는 것이다. 

 

 

▶ deptno가 10이라면 300, 20이라면 400, 그 외에는 0을 출력해라 이거다

▷ 맨 끝에 0은 디폴트값이다. (파이썬에서 else와 같은 건가)

▷ IF deptno = 10 then 300 / else if deptno = 20 then 400 / else 0 정리하자면 요고

 

또 다른 예시

▷ 저기서 MOD가 뭐였는지 기억안난다면 다시 보고와라 https://dev-adela.tistory.com/250

 

▶ 여기에서는 0과 1, 두가지밖에 없기 때문에

첫번째 예시의 0처럼 디폴트값을 지정해주지 않아도된다.(생략가능하단얘기)

 

또 다른 예시..!

 

▶ IF JOB='SALESMAN' THEN 5000, else 2000 

 

 

<CASE>

- 이것도 IF문을 SQL 문으로 바꾼거, 이거슨 C++배울때 switch가 아니였나..!

 

 

DECODE와 다르게 CASE는 부등호가 사용이 가능하다는 점.

(오 C++이랑 똑같아서 이해하기는 쉬웠다)

 

다른 예제로 NULL이 있을 때는?

 

또 다른 예제 한 번 더 풀어보자

▼직업이 세일즈맨이랑 애널리스트면 500출력, 사무원이랑 매니저면 400으로 보너스 출력

 

 

 

햐 잘 나왔따!!!!!