Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[MySQL] - ORDER BY, LIMIT (오름차순, 내림차순, 출력 개수 제한) 본문

DB/MySQL

[MySQL] - ORDER BY, LIMIT (오름차순, 내림차순, 출력 개수 제한)

luke-king 2024. 5. 21. 19:53

 

 

 

 

 

[MySQL] - ORDER BY, LIMIT (오름차순, 내림차순, 출력 개수 제한)

오늘은 ORDER BY에 대해 정리해보려 한다.

 

 

ORDER BY

  • 결과가 출력되는 순서를 조절하는 구문
  • 기본적으로 오름차순 정렬 (ASCENDING)
  • 내림차순으로 정렬도 가능 (DESCENDING)
    • 열 이름 뒤에 DESC 적어줄 것
  • ASC(오름차순)는 default이므로 생략 가능
  • ORDER BY 구문을 혼합해 사용하는 구문도 가능

그럼 바로 예시를 들어 확인해 보자.

 

✔️<예시 ASC(오름차순) >

SELECT * FROM world
ORDER BY country_code;

world 테이블에 있는 country_code 값들을 오름차순으로 정렬해 추출하겠다.라는 의미다.

 

<결과>

ORDER BY (ASCENDING) 오름차순

 

실행 결과를 확인해 보면 country_code 컬럼의 값들이 오름차순으로 정렬된 걸 확인할 수 있다.

 

 

✔️ <예시 DESC(내림차순) >

SELECT * FROM world
ORDER BY country_code DESC;

world 테이블에 있는 country_code 값들을 내림차순으로 정렬해 추출하겠다. 라는 의미다.

 

<결과>

ORDER BY (DESCENDING) 내림차순

 

위 오름차순 결과와 반대로 실행 결과를 확인해 보면 DESC를 사용해 country_code 값들이 내림차순으로 정렬된 걸 확인할 수 있다.

 

✔️ <예시 ORDER BY 혼합>

SELECT * FROM world
ORDER BY country ASC, country_code DESC;

world 테이블에 있는 country 값을 오름차순으로 정렬하고 country_code 는 내림차순으로 정렬한다.

 

<결과>

ORDER BY 혼합 사용

 

결과를 확인해 보면 country 컬럼의 값들이 오름차순으로 정렬되어 있는 걸 볼 수 있다.

또한 population도 내림차순으로 정렬되어 있는데 결괏값에서 country가 중복되는 게 없어 확인하기가 어렵다.

만약 중복으로 autralia의 값이 5개가 있고 population의 값은 각각 1,2,3,4,5 이 있다면

위 ORDER BY 혼합 사용 시 austalia 값들이 5,4,3,2,1 순으로 나오게 된다.

 

 

 

LIMIT

  • 출력 개수를 제한
  • 상위의 n개만 출력하는 ' LIMIT IN ' 구문
  • 서버의 처리량을 많이 사용해 서버의 전반적인 성능을 나쁘게 하는 악성 쿼리문을 개선할 때 사용

 

✔️ <예시 LIMIT>

SELECT * FROM world
ORDER BY country_code DESC
LIMIT 3;

world 테이블 내에 country_code를 내림차순으로 정렬해 그중 상위 3개만 출력한다.

<결과>

LIMIT 3 실행 결과

 

결과를 확인해 보면 위 ORDER BY DESC를 했을 때 내림차순으로 정렬된 걸 확인할 수 있다.

하지만 LIMIT를 사용해 상위 3개만 출력한 결과를 볼 수 있다.