본문 바로가기

Language/MySQL

[MySQL] 복수의 열을 지정해 정렬하기

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

데이터양이 많을 경우 하나의 열만으로는 행을 특정 짓기 어려울 때 복수 열로 정렬 지정

ORDER BY로 행을 정렬하거나, ORDER BY 구를 생략하는 경우 같은 값을 가진 행의 순서는 일정하지 않음

언제나 같은 순서로 결과를 얻고 싶다면 반드시 ORDER BY구로 순서를 지정해야 한다.

 

위처럼 a열로 정렬하면 a열은 순서대로 정렬되지만 b열은 정렬되지 않는다.

이때 ORDER BY로 복수 열 지정하여 정렬하면 된다.

 

정렬방법을 지정하지 않을 경우 자동으로 오름차순(ASC)으로 정렬된다.

 

 

 

NULL값은 대소 비교를 할 수 없어 정렬 시에는 별도의 방법으로 취급

ORDER BY로 지정한 열에서 NULL값을 가지는 행은 가장 먼저 표시되거나 가장 나중에 표시

NULL값에 대한 대소비교 방법은 데이터베이스 제품에 따라 기준이 다름(SQL에 규정되지 않음)

MySQL의 경우 NULL값을 가장 작은 값으로 취급

 

 


※ 한빛미디어의 'SQL첫걸음' 책을 보고 공부한 내용을 정리하고 있습니다.

'Language > MySQL' 카테고리의 다른 글

[MySQL] 수치 연산  (0) 2022.08.12
[MySQL] 결과 행 제한하기 - LIMIT  (0) 2022.08.09
[MySQL] 정렬 - ORDER BY  (0) 2022.08.05
[MySQL] 패턴 매칭에 의한 검색  (0) 2022.08.05
[MySQL] 조건 조합하기  (0) 2022.07.19