오라클 SQL · 기초 다지기

ORDER BY와 정렬, 별칭 활용

정렬은 결과를 해석하는 마지막 단계다. ORDER BY를 이해하면 보고서형 SQL을 더 읽기 쉽게 만들 수 있고, 여러 정렬 기준을 설계하는 감각도 생긴다.

ORDER BY와 정렬, 별칭 활용 대표 이미지

이 글에서 꼭 잡아야 할 것

정렬은 결과를 해석하는 마지막 단계다. ORDER BY를 이해하면 보고서형 SQL을 더 읽기 쉽게 만들 수 있고, 여러 정렬 기준을 설계하는 감각도 생긴다.

정렬은 화면에 보이는 최종 결과를 결정하지만 실제 실행에서는 가장 마지막에 일어나는 경우가 많다. 따라서 WHERE나 GROUP BY에서 아직 만들어지지 않은 별칭을 쓸 수 없는 반면, ORDER BY에서는 최종 출력 컬럼을 기준으로 정렬할 수 있다.

난이도 입문
모듈 기초 다지기
학습 시간 8분
핵심 키워드 ORDER BY, ASC, DESC

개념 지도와 이해 포인트

정렬 방향 `ASC`는 오름차순, `DESC`는 내림차순이다. 별도 지정이 없으면 기본은 오름차순으로 처리된다.
복수 정렬 첫 번째 기준이 같을 때 두 번째 기준이 적용된다. 따라서 부서별 정렬 뒤 이름순 정렬처럼 단계적으로 설계할 수 있다.
별칭과 위치 번호 ORDER BY에서는 SELECT에서 정의한 별칭을 재사용할 수 있다. 컬럼 위치 번호로도 정렬 가능하지만, 유지보수를 위해 명시적 표현이 더 안전하다.
ORDER BY와 정렬, 별칭 활용 개념 다이어그램

대표 문법 패턴

SELECT department_id,
       first_name || ' ' || last_name AS employee_name,
       salary
FROM employees
ORDER BY department_id ASC, salary DESC;

SELECT first_name || ' ' || last_name AS employee_name
FROM employees
ORDER BY employee_name;

문법 읽는 포인트

  • 정렬 기준은 여러 개를 순서대로 나열할 수 있다.
  • ORDER BY에서는 별칭 사용이 가능해 가독성이 좋아진다.
  • 숫자 위치 정렬은 컬럼 순서 변경 시 위험하므로 학습용 정도로만 익혀 두자.

핵심 용어

  • ORDER BY
  • ASC
  • DESC

부서별 급여 상위 순으로 정렬하기

정렬 기준을 여러 개 섞으면 같은 부서 안에서 급여가 높은 순서대로, 그 안에서도 사번이 빠른 순서대로 배치하는 식의 보고서가 가능해진다.

SELECT department_id, employee_id, salary
FROM employees
WHERE department_id IS NOT NULL
ORDER BY department_id, salary DESC, employee_id;

수험 체크포인트와 자주 하는 실수

시험 체크포인트

  • ORDER BY는 SELECT 결과에 대해 가장 마지막에 적용된다는 흐름을 기억하자.
  • 별칭 사용 가능 위치 문제는 WHERE와 ORDER BY를 비교해서 외우면 쉽다.
  • NULL의 정렬 위치는 환경 설정과 옵션에 따라 달라질 수 있으므로 주의하자.

자주 하는 실수

  • WHERE 절에서도 ORDER BY처럼 별칭을 바로 쓸 수 있다고 생각하는 실수
  • 다중 정렬 기준의 우선순위를 반대로 해석하는 실수
  • 정렬이 없는 결과가 항상 동일 순서로 나온다고 믿는 실수

연결 학습

기초 조회 문법이 정리되었다면 이제 데이터를 가공하는 함수로 넘어갈 차례다. 다음 챕터에서는 문자 함수부터 시작한다.

댓글 0

작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.

일반 댓글 작성

댓글을 불러오는 중입니다.

같은 카테고리에서 이어서 읽기

지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.