FOOD_PRODUCT
테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.
SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);
MAX, MIN, AVG와 같은 값과 동일한 값을 가지는, 즉 특정 열에서 최댓값, 최솟값, 평균값을 가지는 행만을 가져오고 싶을 때가 있다.
이럴 땐 단순히 PRICE = MAX(PRICE)
라고 작성하면 안 되고, 서브쿼리를 이용해 PRICE
의 최댓값을 가져온 다음 해당 값과 일치하는 행을 찾아주어야 한다.
FOOD_WAREHOUSE
테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.
SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N') FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '경기%'
ORDER BY WAREHOUSE_ID ASC;
IFNULL을 이용해 FREEZER_YN
열이 NULL 값을 가지는 경우 'N'으로 출력하도록 하였고, LIKE 구문을 통해 경기도에 위치한 창고만을 추출하였다.
USER_INFO
테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS
로 지정해주세요.
SELECT COUNT(*) USERS
FROM USER_INFO
WHERE AGE IS NULL;
'AGE가 NULL 값을 가진다'를 조건으로 걸고, COUNT를 통해 조건에 해당하는 모든 row의 수를 세주었다.
https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit