sql 코드카타

모서아·2024년 12월 17일

문제정리

목록 보기
6/6

30분동안 찾아보고 째려보다가 결국 이해 못 해서 튜터님 찾아간 문제 ..
갑자기 where 절에 섭쿼리가 이해가 되지 않아서 .....

REST_INFO 테이블에서 (음식종류별)(즐겨찾기수가 가장 많은 식당)[음식 종류, ID, 식당 이름, 즐겨찾기수]를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요.

난 이렇게 했던거 같은데 가물가물하다 벌써 .............. 

select category, price, product_name 
from food_product t1
where price = (
   		select max(price) 
   		from food_product 
   		where t1.category = category)
and category in ('과자', '국', '김치', '식용유')
order by price desc
튜터님 답안

SELECT category,
      price,
      product_name
from food_product
where (category, price) in (
SELECT category,
      max(price)
from food_product
where category in ('과자', '국', '김치', '식용유')
group by 1
) 
order by 2 desc

나중에 컬럼이 더 많아지면 원하는 값이 나올 수도 있어서 이렇게 바꿔서 풀기 !

🔻만약 여기서 having 사용해서 금액 10,000원 이상인 것을 찾아보면 ?_

SELECT category,
	   max(price)
from food_product
where category not in ('과자', '국', '김치', '식용유')
group by 1
having max(price) >= 10000

ROM → FROM→ ON → JOIN → WHERE → GROUP BY → HAVING → 윈도우 함수→ SELECT →DISTINCT → ORDER BY → LIMIT

실행순서도 다시 한 번 !
앞으로 qcc, sql 문제 풀때 실행순서 위에 주석처리해놓고 참고하면서 풀기

0개의 댓글