Sparta_coding_club/SQL 코드카타

SQL 코드카타 - 서브쿼리 활용 (우유와 요거트가 담긴 장바구니)

데이터분석쇼니 2023. 12. 29. 08:30


SQL 코드카타

진행과정

하나의 문제를 다양하게 풀이하는 방법이 있다는 것을 알았다.
우선은 스스로 접근할 수 있는 쉬운 방법으로 하고, 다른 방법 중 내 수준에서 이해가 가능한 것들도 함께 정리를 하기로 했다. 

 

문제 다시보기

우유와 요거트가 담긴 장바구니

 ○ 풀이방법 1. 

 - 같은 표에서 MILK가 담긴 CART_ID, YOGURT가 담긴 CART_ID를 각각 추출한 후
-  왼쪽과 오른쪽 표의 공통된 CART_ID 를 추출 

더보기

SELECT  A.CART_ID

FROM  CART_PRODUCTS A 
          INNER
JOIN  CART_PRODUCTS
          ON  A.CART_ID = B.CART_ID

WHERE   A.NAME  LIKE  'YOGURT'  AND  B.NAME  LIKE  'MILK'
ORDER BY  1

○ 풀이방법 2. 

 - 하나의 표에서 MILK와 YOGURT 데이터만 남긴 후 (서브쿼리)
 - 각 데이터의 CART_ID 갯수를 세서 2개 이상인 것만 추출 

더보기

SELECT  CART_ID

FROM
          (
           SELECT  CART_ID, NAME 
           FROM  CART_PRODUCTS
           WHERE  NAME LIKE 'MILK'  OR NAME LIKE 'YOGURT'
           GROUP BY CART_ID, NAME 
          )  A

GROUP BY  CART_ID
HAVING  COUNT(CART_ID) >= 2
ORDER BY CAR_ID