[SQL] 데이터 정렬 - ORDER BY
2024. 8. 14. 18:11ㆍLanguage/SQL
지금까지 출력된 결과 데이터를 보면 아마 데이터가 DB 에 저장된 순서로 출력 되었을 것이다. 하지만 실무에서는 필요에 따라 특정 조건 순서에 따라 출력된 결과를 보는 것이 업무에 더 효율적인 경우가 더러 있을 것이다. 이번에는 출력 결과를 Query 작성자가 원하는 순서대로 출력하는 방법에 대해 알아보자.
1. 기본 문법
SELECT 컬럼명
FROM 테이블명
ORDER BY 정렬 대상 컬럼명 ASC // 'ASC' 는 생략 가능
'ORDER BY' 문에는 정렬을 원하는 컬럼명을 작성하면 된다. 'ASC' 는오름차순(점점 값이 커지는 순서)을 의미하며 생략이 가능하다(아마 기본 값이 'ASC' 인 것 같다). 반대 개념의 내림차순(점점 값이 작아지는 순서)은 'DESC' 를 사용하면 된다
2. 사용 예시
2-1. 특정 컬럼 정렬
'customers' 테이블에 속한 고객들의 데이터를 나이가 어린 순으로 정렬해 보자.
SELECT *
FROM customers
ORDER BY age
2-2. with GROUP BY
'food_orders' 테이블에서 각 음식점, 음식 가격 평균을 내림차순으로 정렬해 보자.
SELECT restuarant_name, AVG(price) avg_price
FROM food_orders
GROUP BY restuarant_name
ORDER BY avg_price DESC
'GROUP BY' 를 함께 사용해 음식점별로 음식 가격 평균(avg_price)을 구하고 'avg_price' 를 내림차순으로 정렬하였다. 예시에 사용한 것처럼 'SELECT' 문에서 음식 가격 평균에 대해 별명을 붙였기 때문에 해당 별명을 그대로 ORDER BY 에 사용할 수 있었다.
'Language > SQL' 카테고리의 다른 글
[SQL] 문자 데이터 가공 - REPLACE, SUBSTRING, CONCAT (0) | 2024.08.16 |
---|---|
[SQL] 카테고리별 필터링 - HAVING (0) | 2024.08.14 |
[SQL] 카테고리별 연산 - GROUP BY (0) | 2024.08.14 |
[SQL] 데이터 계산 - SUM, AVG, COUNT, MIN, MAX (0) | 2024.08.14 |
[SQL] 데이터 필터링 - WHERE (0) | 2024.08.13 |