Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

ORDER BY 절

설명

ORDER BY 절은 질의 결과를 오름차순 또는 내림차순으로 정렬한다. ORDER BY 절을 사용할 때는 질의문의 마지막에 입력해야 한다. ORDER BY 절이 지정되지 않은 경우 조회되는 레코드의 순서는 질의별로 다양할 수 있다.

구문

ORDER BY sort_spec [ {, sort_spec} ]

 

sort_spec :

integer_literal [ ASC | DESC ]

expression [ ASC | DESC ]

alias [ ASC | DESC ]

  • sort_spec : sort_spec은 하나 이상의 컬럼 이름, 표현식, 별칭, 정수값이 될 수 있다.
    • integer_literal [ ASC| DESC] : 정수값 integer_literalSELECT 절에서 컬럼 또는 표현식의 위치에 대한 참조로 사용된다.
    • expression [ ASC| DESC]
    • alias [ ASC| DESC]

ORDER BY 절의 각 항목은 쉼표(,)로 구분되어야 한다. ORDER BY 절의 expression 또는 integer_literal 뒤에 키워드 DESC가 지정되지 않은 경우 질의 결과는 오름차순으로 표시된다.

예제 1

다음은 역대 올림픽의 개최년도와 개최국가 이름으로 조회하되 개최국가를 기준으로 오름차순으로 정렬하는 예제이다. ORDER BY 뒤의 컬럼을 기준으로 오름차순으로 정렬하여 표시한다. 내림차순으로 정렬하려면 컬럼 뒤에 DESC를 붙인다.

SELECT host_year, host_nation FROM olympic ORDER BY host_nation; 

 

=== <Result of SELECT Command in Line 2> ===

    host_year  host_nation

===================================

         2000  'Australia'

         1956  'Australia'

         1920  'Belgium'

         1976  'Canada'

         1952  'Finland'

...

 

 25 rows selected.

예제 2

다음은 각 나라의 금메달 획득수에 따라 조회하되 금메달 수가 10개 이상 15개 이하의 국가들에 대해서 조회하고, 같은 금메달 수에 따라서는 국가 코드를 기준으로 오름차순으로 정렬하는 예제이다. 아래의 질의문은 ORDER BY 절에서 정수 값이 어떻게 사용되는지를 보여준다. SELECT 절에 사용된 컬럼 또는 표현식의 위치에 대응되는 정수 값이 질의 결과의 정렬 순서를 결정하는데 사용된다. 정렬 순서를 나타내기 위해 여러 개의 컬럼이 표시되었다.

SELECT host_year, nation_code, gold FROM participant WHERE gold BETWEEN 10 AND 15

ORDER BY 3 DESC, 2;

 

 === <Result of SELECT Command in Line 1> ===

    host_year  nation_code                  gold

================================================

         1996  'FRA'                          15

         1992  'CUB'                          14

         1992  'ESP'                          13

         2000  'FRA'                          13

         2000  'GER'                          13

         2004  'GER'                          13

...    

 

20 rows selected.