SQL 연습 문제 모음 LVL 3

유승선 ·2022년 10월 29일
0

SQL, JPQL

목록 보기
5/8

레벨 3의 문제다. 음식 종류별로 즐겨찾기 수가 가장많은 식당을 뽑아야하는데 보자마자 생각난게 MAX 함수이다. MAX 함수로 FAVORITES의 최대 숫자를 구하고 FOOT_TYPE 하고 그룹 해주면은 답을 얻을 수 있다고 생각했고 원래 IN 문법은 하나의 종류만 가지고 올 줄 알았는데 여러개 값도 가능하단것을 오늘 배웠다.

-- 코드를 입력하세요
SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES 
FROM REST_INFO 
WHERE (FOOD_TYPE,FAVORITES) IN 
(SELECT FOOD_TYPE, MAX(FAVORITES)
FROM REST_INFO  
GROUP BY FOOD_TYPE)
ORDER BY FOOD_TYPE DESC

혼자 푸는게 가능해지는거 같아서 기쁘다. OUT_DATE 는 꼭 DATE_FORMAT 으로 바꿔줘야하는데 까먹어서 이상하게 오류가 났는데 이번에는 CASE WHEN THEN ELSE END 를 잘 사용한거같다. 항상 SQL을 쓰는 문법이 헷갈리는데 이 부분은 좀 더 보안해야겠다.

-- 코드를 입력하세요
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE,'%Y-%m-%d'),
CASE 
    WHEN OUT_DATE <= '2022-05-01' THEN "출고완료"
    WHEN OUT_DATE IS NULL THEN "출고미정" 
    ELSE "출고대기"
END as '출고여부' 
FROM FOOD_ORDER 
ORDER BY ORDER_ID ASC 
profile
성장하는 사람

0개의 댓글