[Oracle] Dual 테이블이란?
안녕하세요. 갓대희 입니다. 이번 포스팅은 [Oracle Dual] 입니다. :)
▶ Dual 테이블의 정의
1. 오라클 자체에서 제공되는 테이블
2. 간단하게 함수를 이용해서 계산 결과값을 확인 할 때 사용하는 테이블
3. SYS사용자가 소유하는 오라클의 표준 테이블 (그림 참조)
4. SYS사용자가 소유하지만 어느 사용자에서 접근 가능함 (그림 참조)
5. 오직 한행, 한컬럼을 담고 있는 dummy 테이블
▶ Dual 테이블의 사용용도
- dual 테이블은 사용자가 함수(계산)를 실행할 때 임시로 사용하는데 적합하다. - 함수에 대한 쓰임을 알고 싶을때 특정 테이블을 생성할 필요없이 dual 테이블을 이용하여 함수의 값을 리턴(return)받을 수 있다.
ex) SELECT 시퀀스.NEXTVAL FROM DUAL;
ex) SELECT SYSDATE FROM DUAL;
ex) SELECT CURRENT_DATE FROM DUAL;
ex) Merge into 내부에서 사용
USING 대상테이블
/ 뷰 별칭
// 동일 테이블이라면 USING DUAL
컬럼1 = 값1
컬럼2 = 값2
또 나같은경우는 테이블 생성 없이 가상 데이터를 만들어 테스트 해볼때도 사용
ex)
SELECT 회원테이블.*
FROM
(
SELECT '갓댐' AS 이름, 18 AS 나이 FROM DUAL
UNION ALL
SELECT '갓동수', 20 FROM DUAL
UNION ALL
SELECT '허준', 19 FROM DUAL
) 회원테이블
WHERE 나이 < 20;