정렬

Hyun-jin Won·2021년 10월 3일
0

MySQL로 SQL 시작하기

목록 보기
7/24

정렬하여 데이터를 가져오자

앞의 장을 통해서 이제 데이터를 선별하여 가져올 수 있게 되었다.
하지만 실제 데이터는 입력된 순서, 또는 뒤죽박죽으로 데이터가 들어오게 된다.
여기서 사용되는 것이 바로 ORDER BY 명령어이다.

정렬 순서

SELECT * FROM TableORDER BY COLUMN[ASC];
SELECT * FROM TableORDER BY COLUMNDESC;

해당 방식처럼 ORDER BY에 정렬할 COLUMN명을 달고, 어떤 방식으로 정렬할 지 적는다.
오름차순 시 ASC, 내림차순 시 DESC를 선택하면 된다. 단 기본적으로 ASC임으로, 오름차순 이라면 생략해도 무방하다.

그 중 문자열은 비교방식이 사전순으로 작동하게 되는데,
예로 들어 C B D A 를 정렬하면 ASC시 A B C D, DESC 시 D C B A 순서로 작동한다.

주의 사항

정렬를 기준으로 잡을 COLUMN을 선택할 때 해당 컬럼의 길이를 생각하고 정렬을 선택해야 한다.
예로들어 description 같이 상당히 큰 데이터를 정렬에 사용할 경우 "out of memory" 문제가 발생할 수 있다. 이런 경우 정렬로 다른 COLUMN을 선택하거나, substring으로 데이터 정렬에 필요한 데이터의 크기를 줄이거나, DBMS 설정에서 sort_buffer_memory를 늘리는 방식으로 해결해야 한다.

profile
삽질을 주체하지 못하는 잉간

0개의 댓글