본문 바로가기

Language/MySQL

[MySQL] 정렬 - ORDER BY

SELECT 명령에 ORDER BY 구를 지정하면 검색 결과의 행 순서를 변경할 수 있다.

ORDER BY 구를 지정하지 않으면 데이터베이스 내부에 저장된 순서로 반환

언제나 정해진 순서로 결과값을 얻기 위해서는 ORDER BY 구를 지정해야 한다.

 

[SYNTAX] SELECT 열명 FROM 테이블명 (WHERE 조건식) ORDER BY 열명

 

 

DESC로 내림차순 정렬, ASC로 오름차순 정렬한다.

ASX나 DESC로 정렬방법을 지정하지 않은 경우 ASC로 간주된다.

 

 

 

대소 관계

 

ORDER BY로 정렬할 때는 값의 대소 관계가 중요

  • 수치형 데이터는 숫자의 크기로 판별
  • 날짜 시간형 데이터도 숫자의 크기로 판별 ( 작다 = 이전, 크다 = 최근)
  • 문자열형 데이터는 사전식 순서에 의해 판별

a열은 문자열형으로 되어 있어 대소 관계를 사전식 순서로 비교해 위와 같은 결과가 나온다.

즉, 수치의 대소 관계로 비교하지 않는다는 것.

 

ORDER BY로 행 순서를 바꿀 수 있으나, 저장장치에 저장된 데이터의 행 순서를 변경하는 것은 아니다.

 

 


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