KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | SQL CODEKATA
💎 가장 비싼 상품 구하기
🏷 관련 주제 : 집계함수
SUM
MAX
MIN
문제 설명
다음은 어느 의류 쇼핑몰에서 판매 중인 상품들의 정보를 담은 PRODUCT
테이블입니다.PRODUCT
테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID
, PRODUCT_CODE
, PRICE
는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.
Column name | Type | Nullable |
---|---|---|
PRODUCT_ID | INTEGER | FALSE |
PRODUCT_CODE | VARCHAR(8) | FALSE |
PRICE | INTEGER | FALSE |
상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다.
문제
PRODUCT
테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요.
이때 컬럼명은 MAX_PRICE
로 지정해주세요.
예시
예를 들어 PRODUCT
테이블이 다음과 같다면
PRODUCT_ID | PRODUCT_CODE | PRICE |
---|---|---|
1 | A1000001 | 10000 |
2 | A2000005 | 9000 |
3 | C1000006 | 22000 |
가장 높은 판매가는 22,000 원 이므로, 다음과 같은 결과가 나와야 합니다.
MAX_PRICE |
---|
22000 |
✔ (ORACLE) Solution with MAX
SELECT MAX(PRICE)
FROM PRODUCT;
실행 결과

✔ (MYSQL) Solution with MAX
SELECT MAX(PRICE) MAX_PRICE
FROM PRODUCT;
실행 결과

💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍
📌 오늘 만난 문제 : 테이블에서 판매 중인 상품 중 가장 높은 판매가 컬럼명을 MAX_PRICE로 지정해서 출력하시오.
1. PRODUCT
테이블의 PRICE
칼럼에서 가장 높은 값 조회하기
SELECT MAX(PRICE)
FROM PRODUCT;
실행 결과

2. 위에서 조회한 칼럼에 별칭을 MAX_PRICE로 주어 조회하기
SELECT MAX(PRICE) MAX_PRICE
FROM PRODUCT;
실행 결과

처음에 예전에 썼던 코드를 보니
WHERE절에 서브쿼리로 PRICE = (SELECT MAX(PRICE) FROM PRODUCT)
라고 썼던데
SELECT PRICE MAX_PRICE
FROM PRODUCT
WHERE PRICE = (SELECT MAX(PRICE)
FROM PRODUCT);
왜 이렇게 썼지? 하는 생각이 들어서 코드를 간단히 고쳐보았다.
서브쿼리에 넣었던 코드만 써서 제출을 해 보니 성공이라고 떴다.
SQL 쿼리도 계속 쓰다보니 예전의 비효율적인 코드가 눈에 더 잘 띄는 것 같다.
그리고 그동안 ORACLE SQL 문법으로만 코드를 작성해 보았는데
내일배움캠프에서는 MYSQL을 배우는 것 같아서 MYSQL로도 코드를 작성해 보았다.
앞에 작성했던 문제들도 MY SQL문법으로 다시 써 보고 싶다.
💬 무엇을 새롭게 알았는지
MYSQL 쿼리 작성해 보기
- MYSQL에서는 별칭을 줄 때, 따옴표("")를 쓰지 않아도 대소문자를 구분하는 것 같다.