본문 바로가기
Codingtest

Mysql 공부기록 - 5 (식품분류별 가장 비싼 식품의 정보 조회하기 level4)

by Runningturtle 2023. 11. 3.

https://school.programmers.co.kr/learn/courses/30/lessons/131116

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1.

Select CATEGORY ,PRICE as MAX_PRICE   ,PRODUCT_NAME
from FOOD_PRODUCT
where price in (select max(price) from FOOD_PRODUCT group by category) and category = '과자' or category =  '국'or  category =  '김치'or category =  '식용유'
group by  category
order by price desc

 

2.

Select CATEGORY ,PRICE  as MAX_PRICE   ,PRODUCT_NAME
from FOOD_PRODUCT
where price in (select max(price) from FOOD_PRODUCT group by category) and category in ('과자', '국', '김치', '식용유')
order by price desc

 

1번은 틀리고 2번은 정답이나왔다.

 

category = '과자' or category =  '국'or  category =  '김치'or category =  '식용유'

category in ('과자', '국', '김치', '식용유') 

둘중 아래것이 맞았는데 같은것이 아닌가? 이해가 안된다

 

2023.11.06

1번 category = '과자' or category =  '국'or  category =  '김치'or category =  '식용유' 이부분을 괄호로 묶어주면 올바르게된다. 괄호사용을 기억하자.

 

#공부한점

max(속성1) 해서 테이블에서 뽑아낸 결과는 속성1은 원한대로 잘나오는데 속성1에 매칭되는 한 카디널리티,다른 속성 2 3 4들은 같이 안딸려나오더라