오늘은 SQL SERVER에서 ORDER BY 절에
CASE WHEN을 사용하는 방법을
정리해보고자 합니다.
기본적으로 여러 DBMS에서
정렬을 제공합니다.
정렬을 할 때,
ORDER BY 절을 써서
정렬을 하도록 합니다.
그리고 보통 ORDER BY 절에서는
컬럼의 값들을 통해서
정렬이 되도록 합니다.
이번에는 MS-SQL에서
ORDER BY 절을 이용해 정렬을 할 때
CASE WHEN을 이용하는 방법을
정리해보고자 합니다.
우선, 제가 계속 사용하던
데이터를 조회해보도록 하겠습니다.
select * from test_member
위 테이블에는
데이터가 아래처럼 들어가져 있습니다.
위 데이터를 가지고
이제 정렬을 해보도록 하겠습니다.
member_name 값을 통해
정렬을 해보도록 하겠습니다.
ORDER BY 절을 이용해서
정렬을 하는 것입니다.
select * from test_member order by member_name
위처럼 쿼리를 작성하였습니다.
그리고 실행을 하면
결과는 아래처럼 나오게 됩니다.
위처럼 member_name 값을 기준으로
오름차순 정렬이 된 것을
확인할 수 있습니다.
그러면 이번에는 SQL SERVER에서
ORDER BY를 사용할 때
CASE WHEN을 사용하는
예제를 확인해보도록 하겠습니다.
저는 박신혜를 맨 위로,
그 다음 송준기, 디오
그 외에는 아무나 나오도록 하고 싶습니다.
그랬을 때,
쿼리를 아래처럼 작성하였습니다.
select * from test_member order by (case when member_name = '박신혜' then 1 when member_name = '송준기' then 2 when member_name = '디오' then 3 else 4 end )
위처럼 쿼리를 작성하고
실행을 하면
결과는 아래처럼 나오게 됩니다.
위처럼 나와지는 것을
확인할 수 있습니다.
우선, 제가 CASE WHEN으로 설정한 값들을 기준으로
정렬이 되고,
그 이후에는 랜덤으로 정렬이 되는 것을
확인할 수 있습니다.
ORDER BY 절에 CASE WHEN을 사용하는 것은
어려운 것은 아닙니다.
하지만, 막상 사용하려고 하면
햇갈릴 수 있는 부분이기도 합니다.
그래서 정리를 해보았습니다.
이상으로 MSSQL에서
ORDER BY로 정렬할 때,
CASE WHEN 사용하는 방법이였습니다~
1
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'컴퓨터관련 > MS-SQL' 카테고리의 다른 글
MSSQL에서 테이블명, 문자열 검색하기 (0) | 2020.07.17 |
---|---|
MSSQL에서 SELECT INTO, INSERT INTO SELECT (0) | 2020.06.24 |
MSSQL에서의 EXISTS와 IN의 사용 및 차이점 (0) | 2020.06.05 |
MSSQL에서 INDEX에 INCLUDE 되어있는 정보 확인하기 (0) | 2020.05.12 |
MS-SQL에서 테이블별 사이즈 및 건수 확인하기 (0) | 2020.04.13 |