채점 계약
SQL 문제는 solve 함수가 아니라 쿼리 문장을 실행합니다.
준비된 테이블 위에서 나온 결과 표를 기대값과 비교합니다 (열은 |, 행은 줄바꿈).
기본 골격
SELECT id, name
FROM users
WHERE active = 1
ORDER BY name ASC
LIMIT 10;
WHERE
- 비교:
=,<>,<,>,<=,>= - 논리:
AND,OR,NOT - 패턴:
LIKE 'A%'(SQLite) - NULL:
IS NULL/IS NOT NULL(=로는 NULL과 비교 불가)
WHERE score >= 60 AND name IS NOT NULL
ORDER BY · LIMIT
ORDER BY score DESC, name ASC
LIMIT 5;
동점 시 두 번째 키를 명시하면 결과가 안정적입니다.
DISTINCT
SELECT DISTINCT city FROM users;
중복 행을 제거합니다. 집계가 필요하면 GROUP BY를 쓰세요 (다음 레슨).
연습 습관
SELECT * FROM t LIMIT 5로 스키마·샘플을 눈으로 확인- WHERE를 하나씩 추가
- ORDER가 기대와 같은지 확인
LIKE 와일드카드
%任意 길이_한 글자
WHERE name LIKE 'A%';
WHERE code LIKE 'X_Z';
NULL 세 값 논리
WHERE col = NULL은 항상 未知.
반드시 IS NULL.
채점 표 비교
열 순서·행 순서가 문제에 명시되면 ORDER BY를 맞추세요.
명시가 없으면 DB/문제 기본에 의존하지 말고 문제 문구를 따릅니다.
더 깊게
읽은 뒤 연습장에서 예제 코드를 한 번 타이핑해 보세요. 눈으로만 보면 하루 뒤 사라집니다.
관련 원리 카드와 문제 태그로 바로 이어서 풀면, 문법·패턴이 한 묶음으로 남습니다.
막히면 30분 규칙: 입력을 로그로 확인 → 기대/실제 한 줄 비교 → 그래도 안 되면 배우기 레슨으로 잠시 복귀.