ORDER BY 절(SQL Server Compact)

결과 집합의 정렬 순서를 지정합니다. ORDER BY 절은 하위 쿼리에서 유효하지 않습니다. OFFSET-FETCH 절을 사용하여 결과 집합에서 결과의 창 또는 페이지만 인출하는 옵션도 있습니다.


[ORDER BY { order_by_expression [ ASC | DESC ] } [ ,...n][<offset_fetch>] ] 
<offset_fetch> ::= {OFFSET { integer_constant | offset_row_count_expression } { ROW | ROWS }    [FETCH { FIRST | NEXT } {integer_constant | fetch_row_count_expression } { ROW | ROWS } ONLY    ]}

order_by_expression

정렬할 열을 지정합니다. 정렬 열은 테이블 이름 또는 식으로 정규화할 수 있는 이름 또는 열 별칭으로 지정할 수 있습니다. 여러 개의 정렬 열도 지정할 수 있습니다. ORDER BY 절에서 정렬 열의 시퀀스는 정렬된 결과 집합의 구성을 정의합니다.

ORDER BY 절은 선택 목록에 표시되지 않는 항목도 포함할 수 있습니다.

참고 참고

ntext image 데이터 형식의 열은 ORDER BY 절에서 사용할 수 없습니다.

ASC

지정된 열의 값을 가장 작은 값부터 오름차순으로 정렬합니다.

DESC

지정된 열의 값이 가장 큰 값에서 가장 작은 값까지 내림차순으로 정렬되도록 지정합니다. Null 값은 가능한 가장 작은 값으로 취급됩니다.

OFFSET { integer_constant | offset_row_count_expression } { ROW | ROWS }

쿼리 식에서 행의 반환을 시작하기 전에 건너뛸 행 수를 지정합니다. OFFSET 절의 인수는 0보다 크거나 같은 정수 또는 식일 수 있습니다. ROW와 ROWS를 서로 바꿔 사용할 수 있습니다.

FETCH {FIRST|NEXT} <rowcount expression> {ROW|ROWS} ONLY

OFFSET 절을 처리한 후 반환할 행 수를 지정합니다. FETCH 절의 인수는 1보다 크거나 같은 정수 또는 식일 수 있습니다. ROW와 ROWS를 서로 바꿔 사용할 수 있습니다. 이와 마찬가지로 FIRST와 NEXT를 서로 바꿔 사용할 수 있습니다.

ORDER BY 절의 항목 수는 제한이 없습니다.

ORDER BY 절을 UNION 문과 함께 사용하는 경우 정렬하는 열은 첫 번째 SELECT 문에 지정한 열 이름 또는 별칭이어야 합니다. 예를 들어 다음 SELECT 문의 첫 번째 문은 성공적으로 수행되지만 두 번째 문은 실패합니다.

col1이 첫 번째 테이블(t1)에 속하므로 이 문은 성공적으로 수행됩니다.

Create t1 (col1 int, col2 int);

Create t2 (col3 int, col4 int);

SELECT * from t1 UNION SELECT * from t2 ORDER BY col1;

col3은 첫 번째 테이블(t1)에 속하지 않으므로 이 문은 실패합니다.

SELECT * from t1 UNION SELECT * from t2 ORDER BY col3;

다음 예에서는 이름을 기준으로 직원을 나열합니다.

SELECT First Name + ' ' + Last Name FROM Employees ORDER BY First Name

다음 예에서는 ORDER BY를 사용하는 OFFSET-FETCH 절의 사용 방법에 대해 설명합니다. 여기에서는 정렬된 결과 집합에서 첫 10개 행은 건너뛰고 나머지 행을 반환합니다.

SELECT First Name + ' ' + Last Name FROM Employees ORDER BY First Name OFFSET 10 ROWS;

표시: