반응형
PostgreSQL에서 SELECT
쿼리에 ORDER BY
를 사용하면 결과를 특정 열의 값을 기준으로 정렬할 수 있습니다. 정렬은 오름차순(ASC) 또는 내림차순(DESC)으로 설정할 수 있으며, 기본값은 오름차순입니다.
기본 문법
SELECT 열1, 열2, ...
FROM 테이블명
ORDER BY 열 [ASC|DESC];
예제
1. 기본 사용
테이블 employees
가 아래와 같다고 가정합니다:
id | name | salary |
---|---|---|
1 | Alice | 50000 |
2 | Bob | 45000 |
3 | Charlie | 55000 |
오름차순 정렬
SELECT * FROM employees
ORDER BY salary ASC;
결과:
| id | name | salary |
|------|------------|---------|
| 2 | Bob | 45000 |
| 1 | Alice | 50000 |
| 3 | Charlie | 55000 |
내림차순 정렬
SELECT * FROM employees
ORDER BY salary DESC;
결과:
| id | name | salary |
|------|------------|---------|
| 3 | Charlie | 55000 |
| 1 | Alice | 50000 |
| 2 | Bob | 45000 |
2. 다중 컬럼 정렬
여러 열을 기준으로 정렬하려면, ORDER BY
에 여러 열을 지정합니다.
SELECT * FROM employees
ORDER BY salary DESC, name ASC;
설명:
salary
를 기준으로 내림차순 정렬.salary
가 같은 경우name
을 기준으로 오름차순 정렬.
3. CASE 조건과 함께 사용
특정 조건에 따라 정렬할 때 CASE
를 사용할 수 있습니다.
SELECT * FROM employees
ORDER BY
CASE
WHEN salary > 50000 THEN 1
ELSE 2
END, name ASC;
설명:
salary > 50000
인 행을 먼저 정렬.- 그런 다음
name
기준으로 오름차순 정렬.
4. NULL 처리
NULL
값을 정렬 기준에 포함하거나 별도로 처리할 수 있습니다.
SELECT * FROM employees
ORDER BY salary ASC NULLS LAST;
설명:
- 기본적으로
NULL
값은ASC
에서는 처음에,DESC
에서는 마지막에 나타납니다. NULLS FIRST
또는NULLS LAST
로 명시적으로 지정 가능합니다.
5. 랜덤 정렬
결과를 무작위로 정렬하려면 RANDOM()
을 사용할 수 있습니다.
SELECT * FROM employees
ORDER BY RANDOM();
이러한 기능들을 조합하면 다양한 방식으로 데이터를 정렬할 수 있습니다! 😊
반응형
'DB > PostgreSQL' 카테고리의 다른 글
[ Postgresql ] psql - dump한 파일 복원하기 (0) | 2025.01.08 |
---|---|
[ Postgresql ] \l+, \dt+ - 데이터베이스, Table 크기 확인하기 (0) | 2025.01.08 |
[ Postgresql ] RHEL 7,8,9 OS - 오프라인 설치하기 (0) | 2025.01.08 |
[ PostgreSQL ] build - 소스 Build해서 설치하기 (RHEL 7.6) (0) | 2024.12.03 |
[ PostgreSQL ] PostgreSQL 버전 확인하기 (0) | 2024.12.02 |