https://school.programmers.co.kr/learn/courses/30/lessons/151137
CAR_RENTAL_COMPANY_CAR 테이블에서 '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL문을 작성해주세요. 이때 자동차 수에 대한 컬럼명은 CARS로 지정하고, 결과는 자동차 종류를 기준으로 오름차순 정렬해주세요.
SELECT CAR_TYPE, COUNT(CAR_ID) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%가죽시트%'
OR OPTIONS LIKE '%열선시트%'
OR OPTIONS LIKE '%통풍시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE;
- 가죽시트, 열선시트, 통풍시트가 있는 CAR만 COUNT 해서 조회
- CAR_TYPE으로 그룹화
- CAR_TYPE으로 오름차순 정렬
생각해보니까 더 간단한 풀이가 있었다.
SELECT CAR_TYPE, COUNT(CAR_ID) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE;
가죽시트, 열선시트, 통풍시트의 공통점이 시트가 들어가기 때문에 WHERE절에서 3줄을 1줄로 줄였다!