이 글에서 꼭 잡아야 할 것
정렬은 결과를 해석하는 마지막 단계다. ORDER BY를 이해하면 보고서형 SQL을 더 읽기 쉽게 만들 수 있고, 여러 정렬 기준을 설계하는 감각도 생긴다.
정렬은 화면에 보이는 최종 결과를 결정하지만 실제 실행에서는 가장 마지막에 일어나는 경우가 많다. 따라서 WHERE나 GROUP BY에서 아직 만들어지지 않은 별칭을 쓸 수 없는 반면, 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개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.
WHERE 절과 비교 연산자 완전 정리
좋은 SQL은 필요한 행만 남기는 SQL이다. WHERE 절은 조회 결과의 품질을 결정하는 핵심 구간이며, 비교 연산자를 어떻게 쓰느냐에 따라 결과가 완전히 달라진다.
논리 연산자와 BETWEEN, IN, LIKE
조건이 하나일 때보다 여러 조건이 섞일 때 실수가 많이 나온다. AND, OR, NOT과 BETWEEN, IN, LIKE를 이해하면 실제 업무형 SQL에 훨씬 가까워진다.
NULL 처리와 NVL, COALESCE, NULLIF
NULL은 값이 0인 것도, 빈 문자열인 것도 아닌 특별한 상태다. NULL을 제대로 이해하지 못하면 비교, 집계, 정렬, 함수 결과에서 계속 오답이 생긴다.
문자 함수: UPPER, LOWER, SUBSTR, INSTR
문자 함수는 텍스트 데이터를 다듬고 비교하는 데 필수적이다. 이름, 주소, 코드, 이메일처럼 문자열 중심 데이터가 많은 실무에서는 사용 빈도가 매우 높다.
숫자 함수: ROUND, TRUNC, MOD, CEIL, FLOOR
숫자 함수는 계산 결과를 비즈니스 규칙에 맞게 다듬는 도구다. 반올림, 버림, 나머지 계산 같은 기본 기능만 정확히 익혀도 보고서와 통계형 SQL 품질이 높아진다.
댓글을 불러오는 중입니다.