[MySQL] 프로그래머스 / level 2 / 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 / WHERE IN 구조 주의할 점

2024. 3. 15. 07:51Coding Test/MySQL

https://school.programmers.co.kr/questions/71629

 

프로그래머스

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

programmers.co.kr

 

이 문제에서 다음과 같이

 

SELECT CAR_TYPE COUNT(CAR_TYPE) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS IN ('통풍시트', '열선시트', '가죽시트') ;

 

라고 했는데 정답과 에러를 떠나서 다음과 같이 WHERE IN 구조를 쓸 경우

OPTIONS 열에 '통풍시트'만 있는 행, '열선시트'만 있는 행들이 추출된다.

 

SELECT CAR_TYPE, COUNT(*) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%시트%'
GROUP BY CAR_TYPE 
ORDER BY CAR_TYPE ;

 

'통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션을 포함한 자동차를 추출하는 것이 조건이기에 앞뒤로 "시트"라는 단어만 와도 뽑을 수 있게 '%시트%'라고 해야한다.