프로그래밍/개발

SQL 기타사용예2

b1ackhand 2023. 3. 3. 17:35

교집합을 사용할때는 

JOIN

LEFT JOIN + ON

RIGHT JOIN

이용

SELECT RI.REST_ID, RI.REST_NAME, RI.FOOD_TYPE, RI.FAVORITES, RI.ADDRESS, ROUND(AVG(RR.REVIEW_SCORE),2) as SCORE
FROM REST_INFO RI
JOIN REST_REVIEW RR
ON RI.REST_ID = RR.REST_ID
WHERE RI.ADDRESS like '서울%'
GROUP BY RI.REST_ID
ORDER BY SCORE desc, RI.FAVORITES desc

합집합 이용할때는

UNION

SELECT LEFT(ONS.SALES_DATE,10) as SALES_DATE, ONS.PRODUCT_ID, ONS.USER_ID, ONS.SALES_AMOUNT
FROM ONLINE_SALE ONS
WHERE SUBSTR(SALES_DATE,7,1) = "3"
UNION ALL
SELECT LEFT(OFS.SALES_DATE,10) as SALES_DATE, OFS.PRODUCT_ID, NULL as USER_ID, OFS.SALES_AMOUNT
FROM OFFLINE_SALE OFS
WHERE SUBSTR(SALES_DATE,7,1) = "3"
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID