SQL_WITH/서브쿼리
by darami- 데이터리안_실전 부트캠프 를 들으며 기록한 내용입니다.
SELECT day, ROUND(SUM(total\_bill),2) FROM tips GROUP BY day -- window: control + enter / control+ / -- 쿼리 결과 저장 가능 SELECT day, ROUND(SUM(CASE WHEN time='Lunch' then total\_bill ELSE NULL END),2) AS lunch ,ROUND(SUM(CASE WHEN time='Dinner' then total\_bill ELSE NULL END),2) AS Dinner FROM tips GROUP BY day -- IF /CASE WHEN 차이 IF(조건, 조건이 참, 조건이 거짓) CASE WHEN 조건 1 THEN 조건 1이 참 WHEN 조건 2 THEN 조건 2가 참 ELSE 그 외 END
FROM절 서브쿼리
SELECT \* FROM( SELECT day , SUM(total\_bill) sales FROM tips GROUP BY day ) AS daily -- daily라는 테이블로 부르겠다. SELECT ROUND(AVG(sales),2) daily\_sales\_avg FROM( SELECT day , SUM(total\_bill) sales FROM tips GROUP BY day ) AS daily -- 테이블 안에 테이블을 넣은 것 -- FROM절 에서 AS는 생략 가능하지만 Alias 꼭 적어줘야 함
WITH 문 (간편)
WITH daily AS( SELECT day , SUM(total\_bill) sales FROM tips GROUP BY day ),weekly AS( 쿼리 ) SELECT \* FROM daily -- WITH문은 테이블 이름 붙여줌, 간결하게 만듬 -- WITH 다시 안쓰고 weekly AS() 이렇게 써도 가능
블로그의 정보
다람
darami