본문으로 바로가기

[Oracle] DECODE, CASE, DUAL, LPAD, ||

category DB/Oracle 2016. 2. 18. 15:32


JOB_ID가 AD_PRESS이면 A로 출력해라

DECODE를 이용하여 사용할 수 있다.




13. 직업이 AD_PRESS 인 사람은 A 등급을, 

 ST_MAN 인 사람은 B 등급을,

 IT_PROG 인 사람은 C 등급을,

SA_REP 인 사람은 D 등급을,

ST_CLERK 인 사람은 E 등급을 

기타는 0 을 부여하여 조회한다.






만약 JOB_GRADE가 B인 사원만 뽑아내고 싶다면?



WHERE절은 FROM에 있는 것을 쓸수 있다.

SELECT에 있는 ALIAS는 쓸수없기 때문에 뷰로 만들어서 사용한다.



 DECODE를 CASE문으로 바꿔서 사용할 수 있다.

형식은 아래와 같다.



다른 칼럼끼리 비교하고 싶으면 WHEN절 안에 조건을 걸어줄 수 있다.




WHEN절 안에 비교구문을 사용할 수 있다.



THEN절에도 쿼리를 추가할 수 있다.




잠깐, 여기서 DUAL이란?

의미없는 데이터를 잠깐 쓸때 사용하는 덤프 데이터

어떤 테이블이 의미가 없을 때 상수를 쓰고 싶을 때 사용한다.






LPAD란? 왼쪽에 자리수에 맞게 값을 더 넣어줄 떄 사용한다.


RPAD는 반대이다.






|| 이란? 문자열로 붙일 떄 사용한다.


옆에다 새로운 문자를 붙이는 것도 가능하다.




'DB > Oracle' 카테고리의 다른 글

[Oracle] 테이블 구상해보기  (0) 2016.02.22
[Oracle] ERwin을 이용한 ERD  (1) 2016.02.19
[Oracle] NOT EXISTS  (0) 2016.02.18
[Oracle] VIEW 뷰  (0) 2016.02.18
[Oracle] 어느 쿼리가 더 빠를까  (0) 2016.02.18