SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
MIN/MAX 최적화와 Top-1 조회: 값·행·동점의 차이
원래 이론 →판단 기준
표를 좌우로 밀어 나머지 열을 확인하세요. 키보드: ←·→, Home·End
| 혼동 | 정확한 기준 |
|---|---|
| MAX와 최신 행은 동일 | 값 하나와 행 하나 |
| 빈 집합에서 둘 다 0행 | MAX는 NULL 1행, Top-1은 0행 |
| DESC는 Non-NULL 최대부터 | 기본 DESC는 NULLS FIRST |
| MIN/MAX 함수면 항상 1 Entry | Prefix·함수·Filter·Group 확인 |
| KEEP은 실제 한 행을 반환 | Tie 집합에 Aggregate 적용 |
| Group별 MAX도 전체 MAX처럼 조기 종료 | Group별 계산을 위해 많은 Entry 처리 가능 |
| 결과 A-Rows=1이면 효율적 | 하위 Index·Table A-Rows·Buffers 확인 |
| Index가 있으면 Top-1 최적 | 순서·NULL·Filter·Covering 조건 확인 |
| WITH TIES는 항상 1행 | 경계 Tie 수만큼 증가 가능 |
| Operation 이름만 보면 성공 | 실제 Runtime Statistics로 검증 |
헷갈리는 개념
도식좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
MAX(order_date)
→ 2026-08-01
Top-1
→ order_id=950, order_date=2026-08-01, amount=...
MAX 값만 얻은 뒤 다른 Column을 찾으려면 다시 Join하거나 Analytic·
대표 계산·예제
SQL좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
SELECT MAX(order_date) AS last_order_date
FROM orders
WHERE customer_id = :customer_id;
이 SQL은 날짜 값 하나를 반환합니다.
도식좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
조건 만족 행 있음
→ Non-NULL order_date 중 최대값
조건 만족 행 없음
→ 결과 1행, 값 NULL
조건 만족 행은 있으나 모두 NULL
→ 결과 1행, 값 NULL
MIN·MAX는 NULL을 비교에서 제외합니다.
도식좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
MAX(NULL, DATE '2026-01-01')
→ DATE '2026-01-01'
이 SQL이 답하는 질문입니다.
가장 최근 주문일 값은 무엇인가?
다음 질문과는 다릅니다.
가장 최근 주문 행의 order_id·
amount· status는 무엇인가?
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.