단일 열과 여러 열을 기준으로 ORDER BY 사용
결과를 오름차순 또는 내림차순으로 정렬하고, 여러 열을 기준으로 정렬하며, NULLS FIRST / NULLS LAST로 NULL의 위치를 제어합니다.
단일 열과 여러 열을 기준으로 ORDER BY 사용은(는) CoddyKit의 무료 SQL Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 SQL Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. SQL Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
ORDER BY가 필요한 이유
SQL 테이블은 순서가 없는 집합입니다. ORDER BY가 없으면 데이터베이스는 어떤 순서로든 행을 반환할 수 있으며, 그 순서는 실행할 때마다 달라질 수 있습니다. 사용자 인터페이스나 보고서에서 순서가 중요하다면 명시적으로 정렬하십시오.
하나의 열로 정렬하기
기본 정렬 방향은 오름차순입니다:
SELECT id, email FROM users ORDER BY created_at; -- oldest first
SELECT id, email FROM users ORDER BY created_at ASC;
SELECT id, email FROM users ORDER BY created_at DESC; -- newest first여러 열로 정렬하기
열을 우선순위 순서대로 나열하십시오. 두 번째 열은 첫 번째 열의 동률을 해소합니다:
SELECT first_name, last_name, age
FROM users
ORDER BY last_name ASC, first_name ASC, age DESC;표현식으로 정렬하기
어떤 표현식으로든 정렬할 수 있습니다:
SELECT email, full_name
FROM users
ORDER BY LENGTH(email) DESC, email ASC;별칭 또는 위치로 정렬하기
SELECT 목록의 별칭이나 1부터 시작하는 위치를 참조할 수 있습니다:
SELECT id, total * 0.9 AS discounted
FROM orders
ORDER BY discounted DESC; -- by alias
SELECT id, total
FROM orders
ORDER BY 2 DESC; -- by position (avoid in code — fragile)NULLS FIRST / NULLS LAST
NULL이 배치될 위치를 제어하십시오:
-- Default: NULLs LAST when ASC, FIRST when DESC
SELECT * FROM users ORDER BY last_login_at DESC NULLS LAST;
SELECT * FROM users ORDER BY last_login_at ASC NULLS FIRST;안정적인 정렬과 동률 해소
여러 행이 정렬 기준에서 동률이면 데이터베이스는 해당 행을 어떤 순서로든 반환할 수 있습니다. 결정적인 결과를 얻으려면 기본 키를 동률 해소 기준으로 추가하십시오:
SELECT * FROM orders
ORDER BY created_at DESC, id DESC;ORDER BY와 인덱스
ORDER BY의 열에 인덱스가 있으면 데이터베이스는 정렬 단계를 거치지 않고 순서대로 행을 읽을 수 있습니다.
-- With index on created_at DESC, this can use the index directly:
SELECT * FROM events ORDER BY created_at DESC LIMIT 100;ORDER BY에서 CASE 사용하기
CASE를 사용한 사용자 지정 정렬:
-- Show priority orders first:
SELECT * FROM orders
ORDER BY
CASE status
WHEN 'urgent' THEN 0
WHEN 'normal' THEN 1
ELSE 2
END,
created_at DESC;ORDER BY는 WHERE 이후에 실행됩니다
ORDER BY는 WHERE/GROUP BY/HAVING의 결과에 적용됩니다. 먼저 필터링한 다음 정렬합니다.
LIMIT 없이 큰 테이블을 정렬하지 마십시오
10억 개의 행으로 이루어진 결과를 정렬하는 작업은 비용이 많이 듭니다. 상위 N개만 필요하다면 LIMIT을 추가하십시오. 플래너가 상위 N개 전략으로 전환할 수 있습니다.
SELECT * FROM events ORDER BY created_at DESC LIMIT 50;복습
ORDER BY는 결과를 결정적으로 만듭니다.
- 열마다 ASC / DESC 지정
- 동률 해소를 위한 여러 열 사용
- 필요한 경우 NULLS FIRST / LAST 사용
- 큰 정렬에는 항상 LIMIT 함께 사용
빠른 확인
SQL의 기본 정렬 방향은 무엇입니까?
자주 묻는 질문
“단일 열과 여러 열을 기준으로 ORDER BY 사용” 강의는 무료인가요?
네 — “단일 열과 여러 열을 기준으로 ORDER BY 사용” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 SQL Academy 강의 전체를 잠금 해제할 수 있습니다. SQL Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“단일 열과 여러 열을 기준으로 ORDER BY 사용”에서 뭘 배우나요?
결과를 오름차순 또는 내림차순으로 정렬하고, 여러 열을 기준으로 정렬하며, NULLS FIRST / NULLS LAST로 NULL의 위치를 제어합니다. 브라우저에서 직접 실행하는 실습 코드로 SQL Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
SQL Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 SQL Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“단일 열과 여러 열을 기준으로 ORDER BY 사용” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 SQL Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 SQL Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 열과 표현식 선택
- WHERE 필터: 비교 및 논리 연산자
- 단일 열과 여러 열을 기준으로 ORDER BY 사용
- LIMIT, OFFSET과 페이지 매김 기초