- yagom's blog
- 배움에 길에는 끝이 없다.
- Naked Foot
- SAP PP
- SAP ABAP
- SAP BSP
- SAP Inside
- 자바지기
- SECRET OF KOREA
- X-Mobile User Interface World
- 대한민국 자식연합
- 대한민국 토리스토리
- Malus domestica
- PCPINSIDE(거리로 PC, 거실로 PC)
- My Eyes on You
- 조대협의 블로그
- 릴리펏's Logbook
- Dr. Ann(닥터앤)의 DB이야기
- 디지털을 말한다. By oojoo
- Slow Adopter
- T.B 의 SNS 이야기
- Sense and Sensibility
- 언제나 Burning~
- 바스토프의 세상이야기
- Edu&Story
- Min.Gun
- freestation
- nigh
- Programmer
- Shine A Light
- 하루 벌어 하루 살아요. ㅋㅋ
- 아이캐리즈
- 오라클 성능 문제에 대한 통찰 - 조동욱
- 에너쓰오라클
- Science of DataBase
- 기억을 글로 담기
- 홍기선's 아키텍트 이야기 그리고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Annualized Failure Rate
- AWS Elastic Beanstalk
- nested loops join
- ORACLE SQL
- oracle tuning
- Table
- Network Neutrality
- Analytic Function
- ERP
- A2P
- aws
- MTBF
- EA
- Database
- cluster table
- tuning
- PostgreSQL
- RBM
- semi join
- zero rating
- java
- OUTER JOIN
- oracle
- Mean Time Between Failures
- ansi query
- MSSQL SQL
- JDBC
- data pump
- index-organized table
- 스폰서 요금제
- Today
- Total
아이짱구
WITH 구문 본문
* WITH 구문 설명
- WITH 구문 내의 쿼리의 결과(SUB Query)가 여러번 사용할 때 유용하다.
- SUB Query 블럭에 이름을 지정할 수 있도록 해줌.
- 오라클 옵티마이저는 Query를 인라인 뷰나 임시 테이블로 여긴다.
- Oracle 9 이상 지원.
1. WITH Syntax
WITH ALIAS_NAME AS ( SUB Query )
SELECT COLUMNS FROM ALIAS_NAME;
Example
WITH AA AS
(SELECT ROWNUM, 'TEST1', SYSDATE FROM DUAL
UNION ALL
SELECT ROWNUM, 'TEST2', SYSDATE FROM DUAL
UNION ALL
SELECT ROWNUM, 'TEST3', SYSDATE FROM DUAL)
SELECT *
FROM AA;
2. WITH Syntax Multi Sub Query
WITH ALIAS_NAME_1 AS ( SUB Query )
, ALIAS_NAME_2 AS ( SUB Query )
SELECT COLUMNS
FROM ALIAS_NAME
WHERE Join Condition;
Example
WITH AA AS
(SELECT ROWNUM AS SEQ, 'TEST1' AS NAME, SYSDATE FROM DUAL
UNION ALL
SELECT ROWNUM AS SEQ, 'TEST2' AS NAME, SYSDATE FROM DUAL
UNION ALL
SELECT ROWNUM AS SEQ, 'TEST3' AS NAME, SYSDATE FROM DUAL)
, BB AS
(SELECT ROWNUM AS SEQ, 'TEST1' AS NAME, SYSDATE FROM DUAL
UNION ALL
SELECT ROWNUM AS SEQ, 'TEST2' AS NAME, SYSDATE FROM DUAL
UNION ALL
SELECT ROWNUM AS SEQ, 'TEST3' AS NAME, SYSDATE FROM DUAL)
SELECT *
FROM AA, BB
WHERE AA.NAME = BB.NAME;