본문 바로가기
기획자가 알아야 할 IT지식/기획자가 알아야 할 SQL

5강. 데이터를 정렬해서 출력하기 (ORDER BY)

by 일잘러로 살기 2025. 3. 20.

SQL에서 데이터를 조회할 때 특정 기준으로 정렬해서 보면 더 분석하기 쉬워.
이때 사용하는 것이 바로 ORDER BY 절이야!


✅ 1. 기본적인 ORDER BY 사용법

ORDER BY를 사용하면 원하는 컬럼을 기준으로 오름차순(ASC) 또는 내림차순(DESC)으로 정렬할 수 있어.

📌 예제 테이블 (employees)

✅ 급여(salary) 기준으로 오름차순 정렬

sql
복사편집
SELECT *
  FROM employees
 ORDER BY salary ASC;

📌 ASC는 오름차순(작은 값 → 큰 값) 정렬이야!

 

📌 실행 결과


✅ 2. 내림차순 정렬 (DESC 사용하기)

만약 급여가 높은 순서부터 보고 싶다면? 내림차순(DESC)을 사용하면 돼!

sql
복사편집
SELECT *
  FROM employees
 ORDER BY salary DESC;

 

📌 DESC는 내림차순(큰 값 → 작은 값) 정렬이야!

📌 실행 결과


✅ 3. 여러 개의 컬럼 기준으로 정렬하기

만약 부서별(department)로 먼저 정렬하고, 같은 부서 내에서는 급여(salary) 순서대로 정렬하고 싶다면?
두 개 이상의 컬럼을 ORDER BY에 넣으면 돼!

sql
복사편집
SELECT *
  FROM employees
 ORDER BY department ASC, salary DESC;

 

📌 정렬 순서:

  1. department(부서) 기준으로 오름차순
  2. 같은 부서 내에서는 salary 기준으로 내림차순

📌 실행 결과


✅ 4. NULL 값이 있을 때 정렬 방법

만약 salary에 NULL 값이 포함되어 있다면, 정렬 방식에 따라 NULL이 어디에 위치할지 달라져.
기본적으로 NULL 값은 오름차순(ASC)일 때 맨 앞, 내림차순(DESC)일 때 맨 뒤에 위치해.

sql
복사편집
SELECT *
  FROM employees
 ORDER BY salary ASC;

📌 NULL 값이 있으면 가장 앞쪽에 배치됨

 

NULL을 마지막에 배치하고 싶다면? NULLS LAST 옵션을 사용하면 돼.

sql
복사편집
SELECT *
  FROM employees
 ORDER BY salary ASC NULLS LAST;

📌 실행 결과 (NULLS LAST 적용)

📌 NULLS LAST를 사용하면 NULL 값을 가장 마지막에 배치할 수 있어!


📝 정리

  • ORDER BY 컬럼명 ASC → 오름차순 정렬 (작은 값 → 큰 값)
  • ORDER BY 컬럼명 DESC → 내림차순 정렬 (큰 값 → 작은 값)
  • 여러 개의 컬럼을 기준으로 정렬 가능 (ORDER BY A, B DESC)
  • NULL 값은 기본적으로 오름차순일 때 앞에, 내림차순일 때 뒤에 위치
  • NULLS FIRST / NULLS LAST 옵션으로 위치 조정 가능