MYSQL 에서 JOIN 과 서브쿼리로한 결과가 같다 (복습)

📊서인혁·2024년 4월 3일
0

오랜만에 MYSQL에서 데이터를 간단한 데이터를 넣고
복습겸 SQL쿼리를 하고 있던도중

조인으로 해서 문제를 풀었는데 서브쿼리로 간단한게 풀 수 있어서 놀랐다...

문제

SALES 및 CUSTOMER 테이블을 활용하여, 2019년 가입자의 채널코드별 매출액을 구하여라.

``
나의 답

SELECT SALES.channel_code,sum(SALES.sales_amt) as'매출액'
FROM SALES
LEFT JOIN CUSTOMER ON SALES.mem_no = CUSTOMER.mem_no
WHERE YEAR(CUSTOMER.join_date) = 2019
group by SALES.channel_code
order by SALES.channel_code;
다른답

SELECT  CHANNEL_CODE
		,SUM(SALES_AMT) TOT_AMT
  FROM  SALES
 WHERE  MEM_NO IN (SELECT MEM_NO FROM CUSTOMER WHERE  YEAR(JOIN_DATE) = '2019')
 GROUP
    BY  CHANNEL_CODE
 ORDER
    BY  1;

아하! 같은 스키마안에 있으면 언제든지 서브쿼리를 쓸수 있구나 반드시 조인을 할 필요가 없다!

profile
데이터전문가가 되고 싶은 취준생

0개의 댓글