1. 보호소에서 중성화한 동물
https://school.programmers.co.kr/learn/courses/30/lessons/59045?language=oracle
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
ANIMAL_INS 테이블에 SEX_UPON_INTAKE 컬럼의 고유값을 확인하면 다음과 같이 나옵니다
(ANIMAL_OUTS 테이블도 동일함)

- Intact : 중성화 되지 않은 상태
- Neutered : 중성화 됨 (수컷)
- Spayed : 중성화 (암컷)
SELECT
I.ANIMAL_ID,
I.ANIMAL_TYPE,
I.NAME
FROM ANIMAL_OUTS O
JOIN ANIMAL_INS I ON O.ANIMAL_ID = I.ANIMAL_ID
WHERE I.SEX_UPON_INTAKE LIKE 'Intact%'
AND (O.SEX_UPON_OUTCOME LIKE 'Spayed%'
OR O.SEX_UPON_OUTCOME LIKE 'Neutered%')
ORDER BY 1
2. 식품분류별 가장 비싼 식품의 정보 조회하기
https://school.programmers.co.kr/learn/courses/30/lessons/131116?language=oracle
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
SELECT
CATEGORY,
PRICE,
PRODUCT_NAME
FROM(
SELECT
CATEGORY,
PRICE,
PRODUCT_NAME,
ROW_NUMBER()OVER(PARTITION BY CATEGORY ORDER BY PRICE DESC) AS RN
FROM FOOD_PRODUCT
WHERE CATEGORY IN ('과자', '국', '김치', '식용유')
)
WHERE RN = 1
ORDER BY PRICE DESC;
- 풀이 방법
- PARTITION BY CATEGORY: 데이터를 CATEGORY별로 그룹(파티션)으로 나눈다.
- ORDER BY PRICE DESC: 각 파티션 내에서 PRICE가 높은 순서(내림차순)로 정렬.
- ROW_NUMBER(): 정렬된 순서대로 1부터 순번을 매겨 RN이라는 새로운 임시 컬럼 생성.
'코딩 테스트 > 02. SQL' 카테고리의 다른 글
| [프로그래머스]Oracle SQL_3(Lv4) (0) | 2025.09.29 |
|---|---|
| [프로그래머스]Oracle SQL_2(Lv4) (1) | 2025.09.28 |
| [프로그래머스]Oracle SQL_3(Lv3) (0) | 2025.09.21 |
| [프로그래머스]Oracle SQL_2(Lv3) (0) | 2025.09.20 |
| [프로그래머스] Oracle SQL_1(Lv3) (0) | 2025.09.19 |