투케이2K

111. (Oracle/오라클) order by 절에 case when then 조건문을 사용해 이중 정렬 실시 본문

OracleDB

111. (Oracle/오라클) order by 절에 case when then 조건문을 사용해 이중 정렬 실시

투케이2K 2021. 2. 25. 07:44

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Toad

개발 언어 : Oracle

/* =========================== */

/* =========================== */

[소스 코드]

 

/*
[order by 절에 case when then 조건문을 사용해 이중 정렬 실시]
1. case when 조건 then 만족 수행 else 비만족 수행 입니다
2. order by (case when t_dept = '고구려' then 1 else 2 end) 작은 순서로 우선 정렬합니다
3. t_phone desc; 세부적으로 다시 t_phone값을 확인해 내림차순으로 정렳합니다
4. 로직 : case 문을 사용해 t_dept 값이 고구려이면 1값으로 정하고, 아니면 2값으로 정합니다 (여기서, 작은 순서로 우선 정렬됨)
         그리고, t_phone 값을 다시 desc 내림 차순 (큰 순서)로 정렬을 수행합니다                  
*/

select * --
    from test_user
order by (case when t_dept = '고구려' then 1 else 2 end), 
          t_phone desc;

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[요약 설명]

1. case when 조건 then 만족 수행 else 비만족 수행 입니다

2. order by (case when t_dept = '고구려' then 1 else 2 end) 작은 순서로 우선 정렬합니다

3. t_phone desc; 세부적으로 다시 t_phone값을 확인해 내림차순으로 정렳합니다

4. 로직 : case 문을 사용해 t_dept 값이 고구려이면 1값으로 정하고, 아니면 2값으로 정합니다 (여기서, 작은 순서로 우선 정렬됨)

           그리고, t_phone 값을 다시 desc 내림 차순 (큰 순서)로 정렬을 수행합니다

/* =========================== */

반응형
Comments