[SQL] LeetCode 1527. Patients With a Condition
LeetCode 1527. Patients With a Condition 문제를 파헤쳐보자 :)
LeetCode 1045. Customers Who Bought All Products 문제를 파헤쳐보자 :)
![[SQL] LeetCode 1045. Customers Who Bought All Products](https://www.notion.so/image/attachment%3A86e0df4c-d088-47ea-ae62-ef551e57c429%3A%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-05-02_13.48.54.png?table=block&id=2cb13e36-0d89-8083-ad66-f46a78cadff8&cache=v2)
Customer 테이블
Product 테이블에 대한 외부 키(참조 열)입니다.Product 테이블
Product 테이블의 모든 제품을 구입한 Customer 테이블에서 고객 ID를 보고하는 솔루션을 작성합니다.SELECT customer_id FROM Customer GROUP BY customer_id HAVING COUNT(DISTINCT product_key) = (SELECT COUNT(*) FROM Product);
SELECT COUNT(*) FROM Product;
Product 테이블의 모든 개수를 반환한다.SELECT customer_id FROM Customer GROUP BY customer_id HAVING COUNT(DISTINCT product_key);
Customer 테이블의 customer_id 별로 구매한 상품의 개수를 반환한다.product_key의 개수를 구할 때 꼭 DISTINCT 함수를 써줘야하고, customer_id를 최종 반환해야하기 때문에 customer_id로 꼭 그룹화 해줘야한다.SELECT customer_id FROM Customer GROUP BY customer_id HAVING COUNT(DISTINCT product_key) = (SELECT COUNT(*) FROM Product);