ORDER BY 절(Transact-SQL)

업데이트: 2006년 4월 14일

SELECT 문에서 반환되는 열에 사용되는 정렬 순서를 지정합니다. TOP을 함께 지정하지 않는 한 뷰, 인라인 함수, 파생 테이블, 하위 쿼리에서 ORDER BY 절을 사용할 수 없습니다.

[!참고] 뷰, 인라인 함수, 파생 테이블 또는 하위 쿼리 정의에서 ORDER BY 절을 사용하는 경우 이 절은 TOP 절에서 반환되는 행을 결정하기 위한 용도로만 사용됩니다. 쿼리 자체에 ORDER BY를 지정하지 않으면 ORDER BY 절은 이러한 구조에 대한 쿼리 시 정렬된 결과를 보장하지 않습니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

[ ORDER BY 
    {
    order_by_expression 
  [ COLLATE collation_name ] 
  [ ASC | DESC ] 
    } [ ,...n ] 
] 

인수

  • order_by_expression
    정렬할 열을 지정합니다. 열 정렬은 이름이나 열 별칭으로 지정되거나 SELECT 목록에 있는 이름이나 별칭의 위치를 나타내는 음수가 아닌 정수로 지정될 수 있습니다. order_by_expression이 순위 함수에 표시된 경우에는 정수를 지정할 수 없습니다. 열 정렬에 식을 포함할 수 있지만 데이터베이스가 SQL Server 2005 (90) 호환성 모드에 있으면 식은 상수로 확인할 수 없습니다. 열 이름과 별칭은 테이블이나 뷰 이름으로 정규화할 수 있습니다. SQL Server 2005에서 정규화된 열 이름과 별칭은 FROM 절에 나열된 열로 확인합니다. 정규화되지 않은 경우 order_by_expression 값은 SELECT 문에 나열된 모든 열에서 고유해야 합니다.

    여러 개의 열 정렬을 지정할 수 있습니다. ORDER BY 절에서 열 정렬의 순서가 정렬된 결과 집합의 구성 방식을 정의합니다.

    ORDER BY 절에는 SELECT 목록에는 나타나지 않은 항목이 포함될 수 있습니다. 그러나 SELECT DISTINCT를 지정하거나 문에 GROUP BY 절이 있거나 또는 SELECT 문에 UNION 연산자가 있으면 열 정렬이 SELECT 목록에 나타나야 합니다.

    또한 SELECT 문에 UNION 연산자가 있으면 첫 번째 SELECT 목록에서 지정된 열 이름이나 열 별칭을 사용해야 합니다.

    [!참고] ORDER BY 절에서는 ntext, text, image 또는 xml 열을 사용할 수 없습니다.

  • COLLATE {collation_name}
    ORDER BY 작업이 collation_name에서 지정된 데이터 정렬에 따라 수행되도록 하고 테이블이나 뷰에서 정의된 대로 열의 데이터 정렬에 따라 수행되지는 않도록 지정합니다. collation_name은 Windows 데이터 정렬 이름이나 SQL 데이터 정렬 이름일 수 있습니다. 자세한 내용은 설치 프로그램에서 데이터 정렬 설정SQL 데이터 정렬 사용을 참조하십시오. COLLATE는 char, varchar, ncharnvarchar 데이터 형식의 열에만 적용 가능합니다.
  • ASC
    지정된 열의 값이 가장 작은 값에서 가장 큰 값까지 오름차순으로 정렬되도록 지정합니다.
  • DESC
    지정된 열의 값이 가장 큰 값에서 가장 작은 값까지 내림차순으로 정렬되도록 지정합니다.

주의

Null 값은 가능한 가장 작은 값으로 취급됩니다.

ORDER BY 절에서 항목의 개수에는 제한이 없습니다. 그러나 정렬 작업에 필요한 중간 작업 테이블 행의 크기는 8,060바이트로 제한됩니다. 이로 인해 ORDER BY 절에서 지정된 열의 전체 크기가 제한됩니다.

ORDER BY 절을 SELECT...INTO 문과 함께 사용하여 다른 원본의 행을 삽입해도 지정된 순서대로 행이 삽입된다는 보장은 없습니다.

참고 항목

참조

식(Transact-SQL)
SELECT(Transact-SQL)
FROM(Transact-SQL)

관련 자료

ORDER BY로 행 정렬

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 4월 14일

새로운 내용
  • 인라인 함수, 파생 테이블 또는 하위 쿼리 정의에서 ORDER BY의 용도에 대한 자세한 설명을 추가했습니다.

2005년 12월 5일

새로운 내용
  • 뷰 정의에서 ORDER BY의 용도에 대한 정보를 추가했습니다.