CS/데이터베이스
[Oracle] WITH절 (WITH ~ AS)
김크롱
2020. 9. 25. 10:29
WITH절 (WITH ~ AS)
: 동일한 SQL 반복 사용 시 성능 향상
--WITH AS절
WITH newtablename AS (SELECT column1, SUM(column2) AS nickname
FROM table1
GROUP BY column1)
SELECT column1, nickname
FROM newtablename
WHERE nickname > (SELECT AVG(nickname)
FROM newtablename);
--일반 서브쿼리 사용 시
SELECT column1, SUM(column2) as nickname
FROM table1
GROUP BY column1
HAVING SUM(column2) > (SELECT AVG(SUM(column2))
FROM table1
GROUP BY column1);
: WITH AS절 - newtablename 테이블에 table1의 column1, nickname 을 출력해 임시 저장(Temporary Tablespace)
- 이후 newtablename 테이블을 가지고 SQL 작성/사용
- 성능 향상을 위해 사용
- 임시 테이블이므로 whith절 내에서만 사용 가능