본문 바로가기
Language/DB

[Programmers | SQL | GROUP BY 문제 풀이] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 - Solution with LIKE, OR, COUNT(*)

by ㅇ달빛천사ㅇ 2024. 6. 26.
728x90

KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | SQL CODEKATA

 

🚓 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

🏷 관련 주제 : LIKE OR COUNT()




✔ (Oracle & MySQL) Solution with LIKE, OR, COUNT(*)

SELECT CAR_TYPE
       , COUNT(*) CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%통풍시트%'
      OR OPTIONS LIKE '%열선시트%'
      OR OPTIONS LIKE '%가죽시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE;
실행 결과


💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍

📌 오늘 만난 문제 : CAR_RENTAL_COMPANY_CAR 테이블에서
'통풍시트''열선시트''가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL문을 작성해주세요.
이 때, 자동차 수에 대한 컬럼명은 CARS로 지정하고,
결과는 자동차 종류를 기준으로 오름차순 정렬해주세요.


1.  CAR_RENTAL_COMPANY_CAR 테이블 조회하기

  • Oracle & MySQL
    SELECT *
    FROM CAR_RENTAL_COMPANY_CAR;
    실행 결과


2.  OPTIONS의 데이터가 '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션을 포함하는 인스턴스 조회하기

  • Oracle & MySQL
    SELECT *
    FROM CAR_RENTAL_COMPANY_CAR
    WHERE OPTIONS LIKE '%통풍시트%'
          OR OPTIONS LIKE '%열선시트%'
          OR OPTIONS LIKE '%가죽시트%';
    실행 결과


3.  자동차 종류와 자동차 종류별 인스턴스 수 조회하기

인스턴스 수는 자동차 종류로 GROUP BY 후, COUNT(*)함수로 얻을 수 있다.
별칭으로 CARS 주기
  • Oracle & MySQL
    SELECT CAR_TYPE
           , COUNT(*) CARS
    FROM CAR_RENTAL_COMPANY_CAR
    WHERE OPTIONS LIKE '%통풍시트%'
          OR OPTIONS LIKE '%열선시트%'
          OR OPTIONS LIKE '%가죽시트%'
    GROUP BY CAR_TYPE;
    실행 결과


4.  자동차 종류를 기준으로 오름차순 정렬하기

  • Oracle & MySQL
    SELECT CAR_TYPE
           , COUNT(*) CARS
    FROM CAR_RENTAL_COMPANY_CAR
    WHERE OPTIONS LIKE '%통풍시트%'
          OR OPTIONS LIKE '%열선시트%'
          OR OPTIONS LIKE '%가죽시트%'
    GROUP BY CAR_TYPE
    ORDER BY CAR_TYPE;
    실행 결과

💬 무엇을 새롭게 알았는지

LIKE 키워드와 OR 키워드로 WHERE절의 조건을 주는 쿼리를 작성하였다.
GROUP BY하여 집계함수 COUNT(*)로 총 인스턴스 수를 조회하는 쿼리를 작성하였다.







728x90


Top