- ORDER BY는 SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정 컬럼을 기준으로 정렬하는데 사용한다.
- NULL 값에 대한 정렬 순서
- SQL Server : NULL 값을 가장 작은 값으로 간주하여 오름차순 정렬 시 가장 먼저 위치한다.
- ORACLE : NULL 값을 가장 큰 값으로 간주하여 오름차순 정렬 시
가장 마지막에 위치한다.- ORDER BY 절에서 컬럼명 대신 Alias 명이나 컬럼 순서를 나타내는 정수를 혼용하여 사용 할 수 있다.
- GROUP BY를 사용 할 경우 ORDER BY절에서 집계 함수 사용이 가능하다.
SELECT ID, AMT
FROM TBL
ORDER BY 1, 2 DESC;
[ TBL ]
ID (PK) | AMT |
---|---|
A | 50 |
A | 200 |
B | 300 |
C | 100 |
[ result ]
ID (PK) | AMT |
---|---|
A | 200 |
A | 50 |
B | 300 |
C | 100 |
SELECT ID, AMT
FROM TBL
ORDER BY ( CASE WHEN ID = 'A' THEN 1 ELSE 2 END )
, AMT DESC;
[ 팀별성적 ]
팀명 (PK) | 승리건수 |
---|---|
A | 5 |
B | 3 |
C | 8 |
D | 5 |
[ result ]
팀명 (PK) | 승리건수 |
---|---|
C | 8 |
A | 5 |
D | 5 |
SELECT TOP(2) WITH TIES 팀명, 승리건수
FROM 팀별성적
ORDER BY 승리건수 DESC;