DUAL 테이블 사용 방법
오라클에서 쿼리문을 작성시 테이블이 없이 데이터를 만들고 싶을때가 있다. MS-SQL이나 MySQL에서는 FROM절 없이 SELECT 절만 사용해서 쿼리를 실행할 수 있다.
오라클은 FROM절이 없을경우 쿼리문이 실행되지 않는다. 그래서 FROM절에 사용가능한 가상테이블 DUAL 이라는 DUMMY 테이블을 제공하고 있다.
SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd')
FROM dual
위의 쿼리를 실행하면 테이블이 없어도 현재의 날짜를 가져올 수 있다.
SELECT 7788 empno
, 'SCOTT' ename
, 'ANALYST' job
FROM dual
여러개의 컬럼을 나열하여 결과를 얻을 수 있다.
활용 예제
1. 시스템의 현재 날짜를 얻어온다
2. 여러개의 컬럼의 데이터를 만들 수 있다
3. 기존 쿼리의 결과에 데이터를 붙일 수 있다 (UNION ALL)
4. CONNECT BY 절을 사용하면 여러행의 데이터를 만들 수 있다
5. 현재 기준으로 일주일 치 날짜를 가져올 수 있다
5. 시작일자 ~ 종료일자 사이의 모든 날짜를 가져올 수 있다