Database/SQL 기초

SQL 기초 - ORDER BY

UNarD 2026. 3. 19. 12:34

🔃 SQL ORDER BY — 정렬하기

조회한 데이터를 원하는 순서로 보고 싶을 때 사용합니다.
생각보다 간단한데 은근히 자주 쓰이더라고요 😊

🗒️ 예시 테이블 — orders

id customer product price quantity
1 kim 아메리카노 4500 2
2 lee 라떼 5000 1
3 kim 라떼 5000 3
4 park 아메리카노 4500 1
5 lee 아메리카노 4500 2
CREATE DATABASE IF NOT EXISTS practice;
USE practice;

DROP TABLE IF EXISTS orders;

CREATE TABLE orders (
    id       INT,
    customer VARCHAR(10),
    product  VARCHAR(20),
    price    INT,
    quantity INT
);

INSERT INTO orders VALUES (1, 'kim',  '아메리카노', 4500, 2);
INSERT INTO orders VALUES (2, 'lee',  '라떼',      5000, 1);
INSERT INTO orders VALUES (3, 'kim',  '라떼',      5000, 3);
INSERT INTO orders VALUES (4, 'park', '아메리카노', 4500, 1);
INSERT INTO orders VALUES (5, 'lee',  '아메리카노', 4500, 2);

‼️ 위 테이블을 기준으로 아래 문법 사용법을 설명할게요.


🧠 ORDER BY란?

ORDER BY는 조회한 결과를 특정 컬럼 기준으로 정렬하는 절입니다.
기본값은 오름차순(ASC)이며, 내림차순으로 정렬하려면 DESC를 붙입니다.

🎀 기본 문법

SELECT 컬럼명 FROM 테이블명
ORDER BY 컬럼명 ASC|DESC;
  • ASC — 오름차순 정렬 (기본값, 생략 가능)
  • DESC — 내림차순 정렬

🔹 가격 오름차순 정렬

SELECT * FROM orders
ORDER BY price ASC;
-- ASC는 기본값이라 생략해도 동일합니다
SELECT * FROM orders
ORDER BY price;
📥 결과
id customer product price quantity
1 kim 아메리카노 4500 2
4 park 아메리카노 4500 1
5 lee 아메리카노 4500 2
2 lee 라떼 5000 1
3 kim 라떼 5000 3

🔹 가격 내림차순 정렬

SELECT * FROM orders
ORDER BY price DESC;
📥 결과
id customer product price quantity
2 lee 라떼 5000 1
3 kim 라떼 5000 3
1 kim 아메리카노 4500 2
4 park 아메리카노 4500 1
5 lee 아메리카노 4500 2

🔹 여러 컬럼으로 정렬

SELECT * FROM orders
ORDER BY price DESC, quantity ASC;
📥 결과
id customer product price quantity
2 lee 라떼 5000 1
3 kim 라떼 5000 3
4 park 아메리카노 4500 1
1 kim 아메리카노 4500 2
5 lee 아메리카노 4500 2

price 내림차순으로 먼저 정렬하고,
같은 가격이면 quantity 오름차순으로 정렬합니다.

🔹 컬럼 번호로 정렬

SELECT customer, price FROM orders
ORDER BY 2 DESC;

SELECT에 나열된 컬럼 순서를 숫자로 지정할 수 있습니다.
ORDER BY 2는 SELECT의 두 번째 컬럼인 price 기준으로 정렬합니다.

📥 결과
customer price
lee 5000
kim 5000
kim 4500
park 4500
lee 4500

⚠️ 컬럼 이름 대신 번호를 쓰면 간결하지만,
컬럼 순서가 바뀌면 결과도 달라지므로 주의가 필요합니다.


☕ 마무리

문법 설명
ORDER BY 컬럼명 해당 컬럼 기준으로 정렬
ASC 오름차순 (기본값, 생략 가능)
DESC 내림차순
ORDER BY 컬럼1, 컬럼2 여러 컬럼 기준으로 순서대로 정렬

📚 참고자료

'Database > SQL 기초' 카테고리의 다른 글

SQL 기초 - WHERE  (0) 2026.03.20
SQL 기초 - 집계 함수(COUNT, AVG, SUM, MAX, MIN)  (0) 2026.03.20
SQL 기초 - GROUP BY - HAVING  (0) 2026.03.19
SQL 기초 - NULL 다루기  (0) 2026.03.18
SQL기초 - SELECT  (0) 2026.03.17