1. 문제
장바구니_제품 테이블은 장바구니에 담긴 제품에 대한 정보를 담고 있는 테이블입니다. 장바구니_제품 테이블의 구조는 다음과 같습니다. ID, 바구니_ID, 성, PRICE는 테이블 ID, 카트 ID, 제품 유형 또는 가격을 지정합니다.
이름 유형
| ID | 지능 |
| 바구니_ID | 지능 |
| 성 | VARCHAR |
| 가격 | 지능 |
데이터분석팀은 우유와 요거트를 동시에 구매한 장바구니가 있는지 알아보고자 합니다. 우유와 요거트를 동시에 구매한 장바구니의 ID를 조회하는 SQL 문을 작성하세요. 이 시점에서 장바구니 ID의 순서대로 결과가 나타나야 합니다.
예
예를 들어 장바구니_제품 테이블이 있을 때
장바구니_제품 테이블
IDCART_IDNAMEPRICE
| 1630년 | 83 | 곡물 | 3980 |
| 1631년 | 83 | 다목적 공급 | 3900 |
| 5491 | 286 | 요거트 | 2980년 |
| 5504 | 286 | 우유 | 1880년 |
| 8435 | 448 | 우유 | 1880년 |
| 8437 | 448 | 요거트 | 2980년 |
| 8438 | 448 | 차 | 11000 |
| 20236 | 1034 | 요거트 | 2980년 |
| 20237 | 1034 | 버터 | 4890 |
- 83번 차량에 우유와 요거트가 없습니다.
- 카트 286에는 우유와 요거트가 모두 들어 있습니다.
- 카트 448에는 우유와 요거트가 모두 들어 있습니다.
- 카트 1034에는 우유가 없고 요거트만 들어 있습니다.
따라서 SQL 문을 실행하면 다음과 같아야 합니다.
바구니_ID
| 286 |
| 448 |
두 번째 답변

3. 내가 틀렸던 이유
- “우유와 요거트를 동시에 사다”라는 조건을 어떻게 표현할지 생각이 나지 않았다. 세트로 이해하시면 쉽게 풀 수 있습니다. 상품 유형은 “우유”와 “요구르트”를 동시에 충족해야 합니다. 이 경우 집합 연산자 ‘INTERSECT’를 사용하여 두 조건을 동시에 만족하는 테이블을 가져올 수 있습니다.
![[프로그래머스/SQL] 3월에 태어난 [프로그래머스/SQL] 3월에 태어난](https://vest.sugok.kr/wp-content/plugins/contextual-related-posts/default.png)