본문 바로가기
Programming

SQL 정렬 명령을 이용한 데이터 정렬

by 느리게 걷는 즐거움 2024. 5. 31.
반응형

SQL 정렬 명령을 이용한 데이터 정렬

데이터베이스에서 데이터를 조회할 때, 원하는 순서대로 정렬하는 것은 매우 중요합니다. SQL은 데이터를 정렬하기 위한 강력한 기능을 제공합니다. 이번 글에서는 SQL의 정렬 명령인 `ORDER BY`에 대해 자세히 알아보고, 예제 결과도 함께 살펴보겠습니다.

ORDER BY 기본 사용법

SQL에서 데이터를 정렬하기 위해서는 `ORDER BY` 키워드를 사용합니다. 기본적인 문법은 다음과 같습니다.

SELECT 열1, 열2, ...
FROM 테이블명
ORDER BY 열1 [ASC|DESC], 열2 [ASC|DESC], ...;
`열1`, `열2`,  ...: 정렬하고자 하는 열 이름들.
`ASC`, `DESC`:  오름차순 정렬 (기본값), 내림차순 정렬

`Customers` 테이블에서 Country을 오름차순으로 정렬하고자 할 때, 다음과 같이 작성할 수 있습니다.

SELECT Country, PostalCode FROM Customers
ORDER BY Country ASC;
결과

위 쿼리는 `Country` 열을 기준으로 데이터를 오름차순으로 정렬합니다.

다중 열을 기준으로 정렬

`ORDER BY` 절은 하나 이상의 열을 기준으로 데이터를 정렬할 수 있습니다. 여러 열을 기준으로 정렬할 때는, 첫 번째 열을 기준으로 먼저 정렬한 후, 동일한 값이 있을 경우 두 번째 열을 기준으로 정렬합니다.

예제

`Customers` 테이블에서 'Country'를 기준으로 오름차순 정렬하고, 동일한 ` Country ` 내에서는 `PostalCode`를 기준으로 내림차순 정렬하고자 할 때:

SELECT Country, PostalCode 
FROM Customers 
ORDER BY Country ASC, PostalCode DESC;
결과

이 쿼리는 Country를 기준으로 먼저 오름차순으로 정렬하고, 같은 Country 내에서는 PostalCode를 기준으로 내림차순으로 정렬합니다.

서브쿼리와 ORDER BY

`ORDER BY`는 서브쿼리에서도 사용할 수 있습니다. 서브쿼리 내에서 정렬한 결과를 바깥 쿼리에서 다시 정렬할 수 있습니다.

예제

다음 예제는 서브쿼리 내에서 먼저 `age`를 기준으로 내림차순으로 정렬한 후, 바깥 쿼리에서 `name`을 기준으로 오름차순으로 정렬합니다.

SELECT Country, PostalCode 
FROM (
	SELECT Country, PostalCode
    FROM Customers
    ORDER BY PostalCode DESC
) AS subquery
ORDER BY Country ASC;
결과


결론

SQL의 `ORDER BY` 절을 사용하면 데이터를 원하는 순서대로 정렬할 수 있습니다. 기본적인 오름차순, 내림차순 정렬부터 다중 열을 이용한 정렬, 서브쿼리를 이용해서 데이터를 효율적으로 관리하고 조회해 보세요.

반응형