반응형
[프로그래머스] Oracle Lv.1 - 가장 비싼 상품 구하기
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/131697?language=oracle
문제
다음은 어느 의류 쇼핑몰에서 판매 중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.
상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다.
PRODUCT테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 MAX_PRICE로 지정해주세요.
풀이
이전에 풀었던 동물병원 문제랑 비슷하다.
문제에서 컬럼명을 MAX_PRICE로 지정하라고 해서 AS를 사용해서 지정해줬다.
서브쿼리에서 PRODUCT 테이블의 모든 열을 PRICE의 내림차순으로 가져오도록 하고,
본 쿼리의 WHERE절에서 서브쿼리에서 불러온 데이터의 첫 번째 행만을 불러오도록 했다.
2023.08.21 [프로그래머스] Oracle - 상위 n개 레코드
FETCH에 대한 내용은 여기에서 자세히 다뤘다.
소스코드
SELECT PRICE AS MAX_PRICE
FROM (
SELECT *
FROM PRODUCT
ORDER BY PRICE DESC
)
WHERE ROWNUM = 1;
또는
SELECT PRICE AS MAX_PRICE
FROM PRODUCT
ORDER BY PRICE DESC
FETCH FIRST ROW ONLY;
반응형
'코딩테스트연습 > [프로그래머스] Oracle' 카테고리의 다른 글
[프로그래머스] Oracle Lv.1 - 강원도에 위치한 생산공장 목록 출력하기 (0) | 2023.08.23 |
---|---|
[프로그래머스] Oracle Lv.1 - 경기도에 위치한 식품창고 목록 출력하기 (0) | 2023.08.23 |
[프로그래머스] Oracle Lv.1 - 나이 정보가 없는 회원 수 구하기 (0) | 2023.08.22 |
[프로그래머스] Oracle Lv.1 - 동물의 아이디와 이름 (0) | 2023.08.22 |
[프로그래머스] Oracle Lv.1 - 이름이 있는 동물의 아이디 (0) | 2023.08.22 |