FROM DUAL
은 Oracle 데이터베이스에서 자주 사용되는 구문으로, 테이블이 필요 없는 단일 값의 연산이나 함수를 테스트하거나 간단한 쿼리를 실행할 때 사용합니다.
🔷 1. DUAL
이란?
DUAL
은 Oracle에서 임시로 사용하는 1행짜리 가상 테이블입니다.
- 실제 테이블이지만, 시스템에 기본적으로 존재합니다.
- 컬럼은 오직 하나:
DUMMY
라는 이름의VARCHAR2(1)
타입 - 행은 단 하나:
X
SELECT * FROM DUAL;
결과:
DUMMY
-----
X
🔷 2. 왜 FROM DUAL
을 사용하나?
👉 테이블 없이 단일 값을 반환하고 싶을 때 사용
예를 들어, 단순한 산술 연산이나 함수 결과를 확인할 때:
SELECT 1+1 FROM DUAL;
-- 결과: 2
SELECT SYSDATE FROM DUAL;
-- 결과: 현재 날짜/시간
SELECT 'Hello, World!' FROM DUAL;
-- 결과: Hello, World!
🔷 3. 다른 DB에서는?
DBMS | DUAL 필요 여부 |
---|---|
Oracle | 필요 ✅ |
MySQL | 없어도 됨 ❌ |
PostgreSQL | 없어도 됨 ❌ |
SQL Server | 없어도 됨 ❌ |
예시 (MySQL):
-- Oracle
SELECT 'Hi' FROM DUAL;
-- MySQL
SELECT 'Hi';
🔷 4. 실무 팁
- 함수 테스트나 간단한 연산 결과 확인에 자주 사용됩니다.
- 복잡한 쿼리 내에서 서브쿼리로도 사용될 수 있습니다.
SELECT (SELECT COUNT(*) FROM users) AS user_count FROM DUAL;
'CS > Database' 카테고리의 다른 글
[MySQL] SELECT 절의 처리 순서 (0) | 2025.04.01 |
---|---|
[Database] 데이터베이스 용어 정리 (0) | 2025.03.27 |
[DB] DB 접속 정보 (0) | 2025.03.17 |
[MySQL/Oracle] MySQL과 Oracle 데이터베이스 및 스키마 구조 비교 (0) | 2025.03.12 |
[MySQL] MySQL 데이터베이스 생성, 권한 부여 (0) | 2025.03.10 |
댓글