PostgreSQL의 절별 주문
오늘의 기사에서는 해당 테이블의 속성을 기반으로 테이블의 결과를 정렬하는 방법을 교육합니다. 또한 ORDER BY
절을 사용하여 데이터를 정렬하는 방법을 보여줍니다. 이 명령을 이해하는 것부터 시작하겠습니다.
PostgreSQL ORDER BY
절
이를 이해하기 위해 SELECT
문에 대해 논의해 봅시다. 쿼리에 SELECT
문을 작성하면 지정된 테이블의 문을 기반으로 모든 데이터가 제공됩니다.
그 결과 데이터는 지정된 순서 없이 반환됩니다. 데이터를 특정 순서로 정렬하려면 어떻게 해야 합니까? SELECT
문과 함께 ORDER BY
명령을 사용합니다.
ORDER BY
명령을 사용하면 테이블의 하나 이상의 속성을 기반으로 데이터를 정렬할 수 있습니다. 해당 속성 집합을 사용하여 오름차순 또는 내림차순으로 정렬할 수도 있습니다.
이제 우리는 PostgreSQL ORDER BY
명령을 이해했으므로 사용법을 살펴보겠습니다.
PostgreSQL ORDER BY
절 사용
ORDER BY
명령은 쿼리의 나머지 부분과 함께 SELECT
및 FROM
문 다음에 작성됩니다. 이 명령을 사용하기 위해 알아야 할 몇 가지 필수 세부 정보가 있습니다.
먼저 결과를 정렬하기 위한 매개변수로 사용할 열 또는 열 집합을 결정합니다. 해결하려는 문제의 범위에 따라 다릅니다.
이 기사의 뒷부분에서 예제를 사용하여 설명합니다. 기억해야 할 중요한 구문 세부 사항은 여러 속성이 매개변수로 사용되는 경우 쉼표(,
)를 사용한다는 것입니다.
단일 매개변수의 구문:
ORDER BY column_name;
여러 매개변수에 대한 구문:
ORDER BY column1_name, column2_name;
여러 매개변수가 사용되는 경우 ORDER BY
절은 먼저 첫 번째 매개변수에 따라 데이터 세트를 확인합니다.
두 값이 첫 번째 매개변수에 따라 정확한 순서를 갖는 경우 두 번째 매개변수는 유사성을 제거하고 결과 데이터를 정렬하는 데 사용됩니다.
둘째, 속성을 기준으로 결과 데이터를 오름차순 또는 내림차순으로 정렬할 수 있습니다. ASC
및 DESC
키워드는 각각 오름차순 또는 내림차순으로 정렬할지 여부를 정의합니다.
둘 중 하나를 지정하지 않으면 기본적으로 오름차순으로 정렬됩니다.
오름차순 정렬 구문:
ORDER BY column1_name ASC;
내림차순 정렬 구문:
ORDER BY column1_name DESC;
오름차순 및 내림차순으로 함께 정렬하기 위한 구문:
ORDER BY column1_name ASC, column2_name DESC;
마지막으로 ORDER BY
절에 의해 매개변수로 사용되는 속성/컬럼에 NULL
데이터가 있는 경우가 있습니다. 다른 값 앞이나 뒤에 NULL
값을 넣을지 여부를 지정할 수 있습니다.
NULLS LAST
및 NULLS FIRST
키워드가 이 작업에 사용됩니다. ASC
옵션을 사용하는 경우 기본적으로 NULLS LAST
가 선택됩니다.
반면 DESC
옵션을 사용하는 경우 NULLS FIRST
가 기본적으로 선택됩니다. 키워드를 추가하여 필요에 따라 변경할 수 있습니다.
NULL
값을 먼저 넣는 구문:
ORDER BY column1_name ASC NULLS FIRST;
끝에 NULL
값을 넣는 구문:
ORDER BY column1_name DESC NULLS LAST;
PostgreSQL ORDER BY
절의 사용을 보여주는 코드 예제
예제를 통한 설명을 위해 먼저 다음과 같이 테이블을 만듭니다.
create table Orders(
id int,
name varchar(30) not null,
OrderAmount int not null,
constraint pk_customer primary key (id)
);
insert into Orders
values
(1,'Ben', 250),
(2, 'James', 350),
(3, 'Carl', 550),
(4, 'Adam', 550);
select * from Orders;
출력:
이제 테이블이 생성되었습니다. ORDER BY
명령을 사용하는 가능한 모든 방법(위에서 논의됨)을 보여드리겠습니다.
하나의 표현식을 사용하는 PostgreSQL ORDER BY
명령
다음 코드는 주문 가격별로 정렬된 주문
테이블에서 고객 이름과 총 지출을 표시합니다.
OrderAmount
의 오름차순
SELECT name, OrderAmount
FROM Orders
ORDER BY OrderAmount ASC;
출력:
OrderAmount
의 내림차순
SELECT name, OrderAmount
FROM Orders
ORDER BY OrderAmount DESC;
출력:
여러 표현식을 사용하는 PostgreSQL ORDER BY
명령
다음 코드는 주문 가격 및 고객 이름별로 정렬된 Orders
테이블에서 고객 이름 및 총 지출을 표시합니다.
오름차순으로 정렬
SELECT name, OrderAmount
FROM Orders
ORDER BY OrderAmount, name;
출력:
내림차순으로 정렬
SELECT name, OrderAmount
FROM Orders
ORDER BY OrderAmount DESC, name DESC;
출력:
오름차순과 내림차순 모두
SELECT name, OrderAmount
FROM Orders
ORDER BY OrderAmount DESC, name ASC;
출력:
PostgreSQL ORDER BY
명령(NULL
속성 값 포함)
아래에 제공된 이 예에서는 null
값이 있는 새 테이블을 사용합니다.
create table NULLTEST(
name varchar(30) not null,
number_ int
);
insert into NULLTEST
values
('Jack', 250),
('Maguire', 350),
('Walker', 550),
('Michael', NULL);
select * from NULLTEST;
출력:
다음 코드는 NULL
값이 먼저 있는 number_
열의 값으로 정렬된 name
및 number_
를 표시합니다.
SELECT name, number_
FROM NULLTEST
ORDER BY number_ ASC NULLS FIRST;
출력:
NULL FIRST
를 ORDER BY
의 내림차순 옵션과 함께 사용하면 기본적으로 NULL
값이 먼저 표시되므로 불필요합니다. 다음 코드는 NULL
값이 있는 number_
열의 값으로 정렬된 name
및 number_
를 표시합니다.
SELECT name, number_
FROM NULLTEST
ORDER BY number_ DESC NULLS LAST;
여기서 ORDER BY
의 오름차순 옵션과 함께 NULL LAST
를 사용하는 것은 이 경우 기본적으로 NULL
값이 마지막에 나타나므로 불필요합니다.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub