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절 내에서만 사용 가능
'CS > 데이터베이스' 카테고리의 다른 글
[Oracle] WITH절 (SUBQUERY FACTORING) (0) | 2020.09.25 |
---|---|
[Oracle] 데이터 품질 향상 (0) | 2020.09.25 |
[Oracle] 데이터 복구 (0) | 2020.09.24 |
[Oracle] 중복되지 않는 번호 (SEQUENCE) (0) | 2020.09.23 |
[Oracle] 검색 속도 향상 (INDEX) (0) | 2020.09.23 |