DB/쿼리 문제풀이
프로그래머스 ORACLE 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
sshhhh
2023. 10. 6. 14:53
정답
SELECT CAR_TYPE, COUNT(*) CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE
📌LIKE, IN , EXIST 차이와 예제
- LIKE 연산자:
-- 이름이 'John'으로 시작하는 고객 조회
SELECT * FROM customers WHERE name LIKE 'John%';
-- 이메일 주소에 'gmail'이 포함된 고객 조회
SELECT * FROM customers WHERE email LIKE '%gmail%';
- 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');
- 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');