INTAKE_CONDITION 값이 'Sick'인 동물만 조회하는 것이다. 조건 필터링 자체는 단순하지만, 문제에서 요구한 정렬 기준까지 반영해야 완성된 풀이가 된다.1. 문제 핵심
동물 보호소에 들어온 동물의 정보를 담은 ANIMAL_INS 테이블에서 아픈 동물의 ANIMAL_ID와 NAME을 조회하는 문제다.
이 문제에서 아픈 동물은 INTAKE_CONDITION 컬럼 값이 'Sick'인 경우를 의미한다.
ANIMAL_ID, NAME조건:
INTAKE_CONDITION = 'Sick'정렬:
ANIMAL_ID 기준 오름차순ORDER BY를 반드시 작성해야 한다.2. 처음 제출한 코드
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick'
조건 필터링은 정확하다. WHERE INTAKE_CONDITION = 'Sick'를 통해 아픈 동물만 조회할 수 있다.
ORDER BY ANIMAL_ID가 포함되어야 한다.3. 최종 정답 SQL
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick'
ORDER BY ANIMAL_ID;
ORDER BY ANIMAL_ID를 추가하면 조회 결과가 동물 아이디 기준 오름차순으로 정렬된다. ASC는 오름차순을 의미하며, 기본값이므로 생략할 수 있다.
ORDER BY ANIMAL_ID;ORDER BY ANIMAL_ID ASC;위 두 문장은 같은 의미다.
4. SQL 문법 해석
SELECT
SELECT는 조회할 컬럼을 지정하는 문법이다. 이번 문제에서는 동물의 아이디와 이름만 필요하므로 두 컬럼만 선택한다.
SELECT ANIMAL_ID, NAME
FROM
FROM은 데이터를 가져올 테이블을 지정한다. 이 문제에서는 동물 보호소 입소 정보를 담고 있는 ANIMAL_INS 테이블을 사용한다.
FROM ANIMAL_INS
WHERE
WHERE는 조건에 맞는 행만 필터링할 때 사용한다. 문자열 값을 비교할 때는 작은따옴표로 감싸야 한다.
WHERE INTAKE_CONDITION = 'Sick'
ORDER BY
ORDER BY는 조회 결과의 정렬 기준을 지정하는 문법이다. SQL에서는 ORDER BY를 작성하지 않으면 출력 순서가 보장되지 않는다.
ORDER BY ANIMAL_ID;
5. 유사 유형 풀이
같은 핵심 문법을 사용해 상품 테이블에서 판매 가능한 상품만 조회하는 유사 문제를 풀었다.
PRODUCTS 테이블에서 STATUS가 'Available'인 상품의 PRODUCT_ID, PRODUCT_NAME을 조회한다. 결과는 PRODUCT_ID 기준 오름차순으로 정렬한다.SELECT PRODUCT_ID, PRODUCT_NAME
FROM PRODUCTS
WHERE STATUS = 'Available'
ORDER BY PRODUCT_ID;
원래 문제와 같은 점
두 문제 모두 특정 컬럼 값이 주어진 조건과 일치하는 행만 조회한다. 또한 결과 순서를 보장하기 위해 ORDER BY를 사용한다.
INTAKE_CONDITION = 'Sick'유사 문제:
STATUS = 'Available'핵심 구조:
WHERE 조건 필터링 + ORDER BY 정렬6. 핵심 정리
SELECT, FROM, WHERE, ORDER BY를 사용하는 문제다.WHERE는 조건에 맞는 행만 선택할 때 사용한다. 문자열 조건을 비교할 때는 'Sick', 'Available'처럼 작은따옴표를 사용한다.
ORDER BY는 결과를 특정 기준으로 정렬할 때 사용한다. 문제에서 정렬 기준을 요구하면, 조건 필터링이 맞더라도 정렬문까지 작성해야 한다.
7. 사용한 핵심 문법 정리
8. 기본 SQL 구조
SELECT 조회할_컬럼
FROM 테이블명
WHERE 조건
ORDER BY 정렬할_컬럼;
'TIL > 코테' 카테고리의 다른 글
| [ SQL ] 상위 n개 레코드 (0) | 2026.06.25 |
|---|---|
| [ Python ] 시저 암호 (0) | 2026.06.25 |
| [ Python ] 최소직사각형 (0) | 2026.06.24 |
| [ Python ] 크기가 작은 부분문자열 (0) | 2026.06.23 |
| [ Python ] 삼총사 (0) | 2026.06.19 |
