[프로그래머스/SQL]LV4.우유와

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’를 사용하여 두 조건을 동시에 만족하는 테이블을 가져올 수 있습니다.