IT's Jenna

Mysql - ORDER BY & ALIAS 본문

Mysql

Mysql - ORDER BY & ALIAS

developer Jenna 2021. 4. 26. 11:17

Select문을 사용해서 테이블의 데이터들을 가져올 때 일반적으로는 테이블에 입력된 순서(인덱스 순서)대로 데이터를 가져온다. 하지만 db를 활용하다 보면 특정한 순서대로 데이터를 가져와야 하는 경우들이 생긴다. 이럴 때 사용하는 것이 ORDER BY이다.

 

기본구조

SELECT * FROM table_name ORDER BY column_name (ASC or DESC)

ORDER BY 뒤에 정렬하고자 하는 컬럼명을 작성하고 해당 컬럼을 어떤 식으로 정렬하고 싶은지 추가한다. 오름차순 ASC(Ascending)이 기본 default 값이기 때문에 오름차순으로 정렬하고자 하는 경우 생략해도 된다. 내림차순 DESC(Descending)으로 정렬하고자 하는 경우 뒤에 DESC를 입력해준다.

 

ALIAS

SELECT column_name AS total FROM table_name ORDER BY total

SQL에서 출력 결과의 명칭을 변경하는 것을 ALIAS라고 한다. SELECT 문 뒤에 AS를 붙여서 결괏값의 명칭을 어떻게 줄지 정의할 수 있다. ORDER BY 또는 GROUP BY 절과 함께 사용 가능하다.

 

Idx가 아닌 다른 열을 기준으로 정렬하기

SELECT * FROM table_name ORDER BY 3

일반적으로 해당 테이블의 가장 첫 번째 열을 기준으로 정렬이 된다. 하지만 특정 열을 기준으로 다시 정렬을 하고 싶을 때도 ORDER BY를 활용할 수 있다. 위 쿼리의 경우 3번째 열을 기준으로 데이터가 정렬된다.

 

ORDER BY 다중으로 활용하기

SELECT * FROM students ORDER BY class (ASC), name DESC

다중 기준으로 정렬을 할 수 있다. 위의 예시에서 보면 students라는 테이블에서 class 열을 기준으로 우선 오름차순 정렬한다. ASC는 생략 가능하기 때문에 괄호를 넣어주었다. 그리고 해당 class별 정렬 내에서 name을 내림차순 정렬하라는 의미이다.

 

 

<참고>

gomguard.tistory.com/93

endorphin0710.tistory.com/77

'Mysql' 카테고리의 다른 글

Mysql 이벤트 스케쥴러 (Event Scheduler)  (0) 2021.06.23
Mysql - LIMIT  (0) 2021.05.12
Mysql - group_concat  (0) 2021.04.26
Mysql - GROUP BY & CASE  (0) 2021.01.21
Mysql 기본  (0) 2021.01.21
Comments