08. SQL 다수의 열을 지정하여 정렬하기

1. 08. 복수의 열을 지정해 정렬하기

1
2
SELECT 열명 FROM 테이블명 WHERE 조건식
ORDER BY 열명1 [ASC|DESC], 열명2 [ASC|DESC] ...

1.1. 복수의 열로 정렬 지정

  • ORDER BY로 행을 정렬하는 경우 같은 행의 순서는 어떻게 정해질까?
  • ORDER BY 구는 생략할 수 있는데 이때 순서는 어떻게 정해질까?
  • -> 순서는 일정하지 않다.
  • 데이터베이스 서버의 당시 상황에 따라 어떤 순서로 행을 반환할지 결정된다.
  • 따라서 같은 순서의 결과를 얻고 싶다면 반드시 ORDER BY구로 순서를 지정해야 한다.
  • 콤마(,)로 열명을 구분해 지정한다.

1.2. 정렬방법 지정하기

  • 구문 중에 [] 부분은 생략 가능
  • | 둘중 하나라는 뜻
  • …는 동일한 형태로 연속해서 지정할 수 있다.

ORDER BY a DESC,b

1.3. NULL 값의 정렬 순서

  • NULL 값에대한 정렬방법은 표준 SQL에도 규정되어있지 않는다.
  • 데이터베이스 제품에 따라 기준이 다르다.
  • Mysql의 경우 NULL값을 가장 작은 값으로 취급
  • Oracle은 가장 큰 값으로 인식