SELECT을 사용하여 명령문 에서 반환된 결과 집합을 정렬하는 방법
테이블에서 데이터를 쿼리할 때 SELECT문은 지정되지 않은 순서로 행을 반환합니다.
결과 집합의 행을 정렬하려면 문 에서 ORDER BY 절 을 사용합니다.
SELECT오름차순 또는 정렬 식을 기준으로 내림차순으로 정렬 할 수 있습니다.
SELECT
select_list
FROM
table_name
ORDER BY
sort_expression1 [ASC | DESC],
...
sort_expressionN [ASC | DESC];
- 첫째, ORDER BY키워드 다음에 정렬할 열 또는 표현식이 될 수 있는 정렬 표현식을 지정해야합니다. 여러 열이나 표현식을 기준으로 결과 집합을 정렬하려면 ,두 열이나 표현식 사이에 쉼표( )를 넣어 구분해야 합니다.
- 둘째, ASC행을 오름차순으로 정렬 하는 옵션과 내림차순으로 행을 정렬 하는 옵션을 사용합니다. ASC또는 DESC옵션을 생략하면 기본적으로 ASC가 사용됩니다.
1)PostgreSQL ORDER BY절을 사용하여 한 열로 행 정렬
//ORDER BY절을 사용하여 이름을 기준으로 오름차순으로 고객을 정렬
SELECT
first_name,
last_name
FROM
customer
ORDER BY
first_name ASC;
2) PostgreSQL ORDER BY절을 사용하여 한 열을 기준으로 내림차순으로 행 정렬
SELECT
first_name,
last_name
FROM
customer
ORDER BY
last_name DESC;
3) PostgreSQL ORDER BY절을 사용하여 여러 열로 행 정렬
SELECT
first_name,
last_name
FROM
customer
ORDER BY
first_name ASC,
last_name DESC;
4) PostgreSQL ORDER BY절을 사용하여 표현식으로 행 정렬
SELECT
first_name,
LENGTH(first_name) len
FROM
customer
ORDER BY
len DESC;
NULL는 누락된 데이터 또는 기록 당시 데이터를 알 수 없음을 나타내는 마커입니다.
ORDER BY에서 NULLS FIRST와 NULLS LAST로 순서를 지정할 수 있습니다.
ORDER BY sort_expresssion [ASC | DESC] [NULLS FIRST | NULLS LAST]
- 데모용 테이블 생성
-- create a new table
CREATE TABLE sort_demo(
num INT
);
-- insert some data
INSERT INTO sort_demo(num)
VALUES(1),(2),(3),(null);
SELECT num
FROM sort_demo
ORDER BY num;
-- same
SELECT num
FROM sort_demo
ORDER BY num NULLS LAST;
ASC옵션 을 사용하면 ORDER BY절은 NULLS LAST기본적으로 옵션을 사용합니다.
NULL을 null이 아닌 다른 값 앞에 배치하려면 다음 NULLS FIRST옵션 을 사용합니다.
SELECT num
FROM sort_demo
ORDER BY num NULLS FIRST;
num은 sort_demo테이블 의 열에 있는 값 을 내림차순으로 정렬합니다.
SELECT num
FROM sort_demo
ORDER BY num DESC;
- NULLS FIRST및 NULLS LAST옵션을 사용 NULL하여 다른 null이 아닌 값 의 순서를 명시적으로 지정 합니다.
반응형
'SW ENGINEERING > Postgres' 카테고리의 다른 글
[PostgreSQL] BASIC - LIMIT (0) | 2021.09.01 |
---|---|
[PostgreSQL] BASIC - WHERE (0) | 2021.09.01 |
[PostgreSQL] BASIC - SELECT DISTINCT (0) | 2021.09.01 |
[PostgreSQL] BASIC - Column_alias (0) | 2021.09.01 |
[PostgreSQL] BASIC - SELECT (0) | 2021.09.01 |
최근댓글