0Pricing
SQL Academy · 강의

단일 열과 여러 열을 기준으로 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 열과 표현식 선택
  2. WHERE 필터: 비교 및 논리 연산자
  3. 단일 열과 여러 열을 기준으로 ORDER BY 사용
  4. LIMIT, OFFSET과 페이지 매김 기초
← SQL Academy(으)로 돌아가기