WeniVooks

검색

SQL 베이스캠프

ORDER BY

1. ORDER BY

ORDER BY 절은 SELECT 문의 결과를 정렬하는 데 사용됩니다. ORDER BY 절은 SELECT 문의 마지막에 위치하며, ORDER BY 절 뒤에 오는 열 이름에 따라 결과가 정렬됩니다.

SELECT *
FROM table_name
ORDER BY column_name;
SELECT *
FROM table_name
ORDER BY column_name;

위와 같이 작성하면 table_name 테이블의 column_name 열을 기준으로 오름차순으로 정렬된 결과를 출력합니다.

SELECT *
FROM table_name
ORDER BY column_name DESC;
SELECT *
FROM table_name
ORDER BY column_name DESC;

위와 같이 작성하면 table_name 테이블의 column_name 열을 기준으로 내림차순으로 정렬된 결과를 출력합니다.

  • 오름차순 : ASC(기본, 작은 수에서 큰 수로, Ascending)
  • 내림차순 : DESC(큰 수에서 작은 수로, Descending)

아래 코드를 실행해보세요.

SELECT * FROM 상품 ORDER BY 가격;
SELECT * FROM 상품 ORDER BY 가격;
실습환경 바로가기

이번에는 가격이 가장 높은 순서대로 정렬해보겠습니다.

SELECT * FROM 상품 ORDER BY 가격 DESC;
SELECT * FROM 상품 ORDER BY 가격 DESC;
실습환경 바로가기

2. ORDER BY 여러 열로 정렬하기

ORDER BY 절은 여러 열로 정렬할 수 있습니다.

SELECT *
FROM table_name
ORDER BY column_name1, column_name2;
SELECT *
FROM table_name
ORDER BY column_name1, column_name2;

위와 같이 작성하면 table_name 테이블의 column_name1 열을 기준으로 먼저 정렬하고, column_name2 열을 기준으로 다시 정렬합니다.

아래 코드는 가격순으로 먼저 정렬하고 같은 가격이라면 재고가 적은 순으로 정렬합니다.

SELECT * FROM 상품 ORDER BY 가격, 재고;
SELECT * FROM 상품 ORDER BY 가격, 재고;
실습환경 바로가기

같은 가격일 때 재고가 많은 순으로 정렬하려면 다음과 같이 작성합니다.

SELECT * FROM 상품 ORDER BY 가격, 재고 DESC;
SELECT * FROM 상품 ORDER BY 가격, 재고 DESC;
실습환경 바로가기

가격도 내림차순으로 정렬하고, 재고도 내림차순으로 정렬하려면 다음과 같이 작성합니다. 재고를 오름차순으로 정렬하려면 DESC를 제거하면 됩니다.

SELECT * FROM 상품 ORDER BY 가격 DESC, 재고 DESC;
SELECT * FROM 상품 ORDER BY 가격 DESC, 재고 DESC;
실습환경 바로가기
2.2 SELECT DISTINCT2.4 AS