DB/쿼리 문제풀이

프로그래머스 ORACLE 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

sshhhh 2023. 10. 6.

 

정답

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

 

📌LIKE, IN , EXIST 차이와 예제

  1. LIKE 연산자:
-- 이름이 'John'으로 시작하는 고객 조회
SELECT * FROM customers WHERE name LIKE 'John%';

-- 이메일 주소에 'gmail'이 포함된 고객 조회
SELECT * FROM customers WHERE email LIKE '%gmail%';

  1. IN 연산자: IN의 조건이 모두 해당하는 것들이 조회됨
-- 고객 ID가 1, 3, 5인 고객 조회
SELECT * FROM customers WHERE customer_id IN (1, 3, 5);

-- 부서가 'HR' 또는 'Sales'인 직원 조회
SELECT * FROM employees WHERE department IN ('HR', 'Sales');

  1. EXISTS 연산자: 메인 쿼리 EXISTS(서브 쿼리)  서브 쿼리의 결과가 " 한 건이라도 존재하면*"*  TRUE 없으면 FALSE를 리턴한다.
-- 주문한 상품이 있는 고객 조회
SELECT * FROM customers C WHERE EXISTS (SELECT 1 FROM orders O WHERE O.customer_id = C.customer_id);

-- 특정 카테고리에 상품이 있는 경우만 조회
SELECT * FROM products P WHERE EXISTS (SELECT 1 FROM categories C WHERE P.category_id = C.category_id AND C.category_name = 'Electronics');

참고 https://gent.tistory.com/278

댓글