요약
SQL ORDER BY는 조회한 데이터를 원하는 기준으로 정렬할 때 사용하는 SQL 문법입니다. 데이터 분석과 실무 업무에서 매우 자주 사용되며 SQLD 시험에서도 꾸준히 출제되는 핵심 개념입니다. 이번 글에서는 SQL ORDER BY 사용법, 오름차순과 내림차순 정렬, 다중 컬럼 정렬, NULL 정렬 방식까지 자세히 알아보겠습니다.
SQL ORDER BY란?
SQL ORDER BY는 SELECT 문으로 조회한 결과를 특정 기준에 따라 정렬하는 구문입니다.
데이터베이스에서 데이터를 조회하면 기본적으로 저장된 순서대로 결과가 출력됩니다. 하지만 실제 업무에서는 급여가 높은 순서, 입사일이 빠른 순서, 매출이 많은 순서 등 원하는 기준으로 정렬해야 하는 경우가 많습니다.
이때 사용하는 문법이 바로 SQL ORDER BY입니다.
SQL ORDER BY는 데이터 분석, 보고서 작성, 대시보드 구축 등 거의 모든 데이터 관련 업무에서 사용됩니다. 더 많은 정보를 확인하고 SQL 정렬 기능을 익혀보세요.
SQL ORDER BY 기본 구조
SQL ORDER BY의 기본 문법은 다음과 같습니다.
SELECT 컬럼명
FROM 테이블명
ORDER BY 컬럼명;
예를 들어 직원 급여를 기준으로 정렬하려면 다음과 같이 작성합니다.
SELECT *
FROM EMP
ORDER BY SAL;
위 SQL ORDER BY는 급여를 기준으로 오름차순 정렬합니다.
ORDER BY는 항상 SELECT 문 가장 마지막에 작성하는 것이 원칙입니다. 더 많은 정보를 확인하고 SQL 문장 작성 순서를 이해해보세요.
오름차순 정렬(ASC)
ASC는 Ascending의 약자로 오름차순 정렬을 의미합니다.
숫자는 작은 값부터 큰 값 순으로 정렬되고 문자는 알파벳 순서로 정렬됩니다.
SELECT *
FROM EMP
ORDER BY SAL ASC;
실행 결과 예시
| 이름 | 급여 |
|---|---|
| SMITH | 800 |
| WARD | 1250 |
| ALLEN | 1600 |
| JONES | 2975 |
사실 ASC는 기본값이기 때문에 생략 가능합니다.
SELECT *
FROM EMP
ORDER BY SAL;
위 SQL도 동일하게 오름차순 정렬됩니다.
SQL ORDER BY를 처음 학습하는 경우 ASC와 기본 정렬 방식을 함께 이해하는 것이 중요합니다. 더 많은 정보를 확인하고 SQL 정렬 기능을 익혀보세요.
내림차순 정렬(DESC)
DESC는 Descending의 약자로 내림차순 정렬을 의미합니다.
급여가 높은 직원부터 조회하고 싶다면 다음과 같이 작성합니다.
SELECT *
FROM EMP
ORDER BY SAL DESC;
실행 결과 예시
| 이름 | 급여 |
|---|---|
| KING | 5000 |
| SCOTT | 3000 |
| FORD | 3000 |
| JONES | 2975 |
실무에서는 매출 상위 고객, 판매량 상위 상품, 급여 상위 직원 등을 조회할 때 SQL ORDER BY DESC를 매우 자주 사용합니다. 더 많은 정보를 확인하고 데이터 분석에 활용해보세요.
여러 컬럼으로 정렬하기
SQL ORDER BY는 여러 개의 컬럼을 기준으로 정렬할 수 있습니다.
SELECT *
FROM EMP
ORDER BY DEPTNO, SAL DESC;
위 SQL은 다음 순서로 정렬됩니다.
- 부서번호 오름차순
- 같은 부서 내에서는 급여 내림차순
예시 결과
| 부서번호 | 이름 | 급여 |
|---|---|---|
| 10 | KING | 5000 |
| 10 | CLARK | 2450 |
| 20 | SCOTT | 3000 |
| 20 | FORD | 3000 |
SQL ORDER BY는 여러 조건을 조합하여 복잡한 정렬도 수행할 수 있습니다. 더 많은 정보를 확인하고 다중 정렬 방법을 익혀보세요.
컬럼 위치 번호로 정렬하기
컬럼명을 사용하지 않고 SELECT 순서 번호를 사용할 수도 있습니다.
SELECT EMPNO, ENAME, SAL
FROM EMP
ORDER BY 3 DESC;
위 SQL ORDER BY는 세 번째 컬럼인 SAL 기준으로 정렬됩니다.
하지만 실무에서는 가독성을 위해 컬럼명을 사용하는 경우가 많습니다.
컬럼 위치 번호는 SQLD 시험에서 간혹 출제되므로 알아두는 것이 좋습니다. 더 많은 정보를 확인하고 SQLD 핵심 개념을 학습해보세요.
문자열 정렬하기
SQL ORDER BY는 문자 데이터도 정렬할 수 있습니다.
SELECT *
FROM EMP
ORDER BY ENAME;
실행 결과
| 이름 |
|---|
| ADAMS |
| ALLEN |
| BLAKE |
| CLARK |
문자 데이터는 알파벳 순서로 정렬됩니다.
실무에서는 고객명, 제품명, 지역명 등을 정렬할 때 SQL ORDER BY를 활용합니다. 더 많은 정보를 확인하고 다양한 정렬 방법을 익혀보세요.
날짜 데이터 정렬하기
날짜 데이터도 SQL ORDER BY를 통해 정렬할 수 있습니다.
SELECT *
FROM EMP
ORDER BY HIREDATE DESC;
위 SQL은 가장 최근 입사한 직원부터 조회합니다.
반대로 오래된 순서로 조회하려면 ASC를 사용합니다.
SELECT *
FROM EMP
ORDER BY HIREDATE ASC;
날짜 정렬은 실무에서 매우 자주 사용되는 기능입니다. 더 많은 정보를 확인하고 데이터 조회 능력을 향상시켜보세요.
NULL 값 정렬하기
SQL ORDER BY에서 NULL 값 처리 방식도 중요합니다.
일반적으로 Oracle에서는 다음과 같은 특징이 있습니다.
| 정렬 방식 | NULL 위치 |
|---|---|
| ASC | 마지막 |
| DESC | 처음 |
예시
SELECT *
FROM EMP
ORDER BY COMM ASC;
필요하다면 NULLS FIRST 또는 NULLS LAST를 직접 지정할 수도 있습니다.
SELECT *
FROM EMP
ORDER BY COMM DESC NULLS LAST;
NULL 정렬은 SQLD 시험에서도 자주 출제되는 개념입니다. 더 많은 정보를 확인하고 SQL NULL 처리 방법을 익혀보세요.
SQL ORDER BY와 WHERE 함께 사용하기
실무에서는 SQL ORDER BY를 WHERE 절과 함께 사용하는 경우가 많습니다.
SELECT *
FROM EMP
WHERE DEPTNO = 20
ORDER BY SAL DESC;
위 SQL은 20번 부서 직원만 조회한 뒤 급여가 높은 순서로 정렬합니다.
실제 데이터 분석 업무에서도 가장 자주 사용하는 패턴 중 하나입니다. 더 많은 정보를 확인하고 SQL 실무 활용 능력을 키워보세요.
SQLD 시험에서 ORDER BY가 중요한 이유
SQLD 시험에서는 SQL ORDER BY 관련 문제가 꾸준히 출제됩니다.
특히 다음 개념은 반드시 이해해야 합니다.
| 주요 개념 | 중요도 |
|---|---|
| ASC | 매우 높음 |
| DESC | 매우 높음 |
| 다중 정렬 | 높음 |
| 컬럼 번호 정렬 | 중간 |
| NULL 정렬 | 높음 |
ORDER BY는 SELECT, WHERE와 함께 SQL의 가장 기본적인 문법으로 평가됩니다.
SQLD를 준비한다면 반드시 직접 실행해보며 학습하는 것이 좋습니다. 더 많은 정보를 확인하고 SQLD 시험 대비를 시작해보세요.
자주 묻는 질문(FAQ)
ORDER BY를 생략하면 어떻게 되나요?
데이터베이스에 저장된 순서대로 결과가 조회됩니다. 다만 정렬 순서는 보장되지 않기 때문에 필요한 경우 SQL ORDER BY를 사용하는 것이 좋습니다. 더 많은 정보를 확인하고 SQL 조회 원리를 이해해보세요.
ASC는 꼭 작성해야 하나요?
아닙니다. ASC는 기본값이므로 생략 가능합니다. 더 많은 정보를 확인하고 SQL 문법을 효율적으로 작성해보세요.
ORDER BY는 WHERE 앞에 작성하나요?
아닙니다. ORDER BY는 SELECT 문의 가장 마지막에 작성합니다. 더 많은 정보를 확인하고 SQL 문장 작성 순서를 익혀보세요.
마무리
SQL ORDER BY는 조회한 데이터를 원하는 기준으로 정렬하기 위한 핵심 SQL 문법입니다. 오름차순, 내림차순, 다중 컬럼 정렬, NULL 정렬까지 이해하면 실무와 SQLD 시험 모두에서 큰 도움이 됩니다. SQL을 처음 배우는 분이라면 SELECT와 WHERE 학습 후 반드시 SQL ORDER BY를 충분히 연습해보는 것을 추천합니다. 더 많은 정보를 확인하고 다음 단계인 SQL 집계 함수 COUNT, SUM, AVG 사용법도 함께 학습해보세요.
