`DUAL`은 Oracle SQL에서 특별한 용도로 사용되는 가상 테이블입니다. 다음과 같은 특성을 가지고 있습니다:
### 1. **단일 행과 단일 열**
- `DUAL` 테이블은 항상 단 한 행과 단 한 열을 가진 가상 테이블입니다.
- 열의 이름은 `DUMMY`이며, 기본값은 `'X'`입니다.
### 2. **주로 계산식 및 함수 호출에 사용**
- `DUAL` 테이블은 주로 수식 계산, 함수 호출, 상수 값을 반환하는 쿼리에서 사용됩니다.
- 데이터베이스의 특정 테이블이 필요 없고, 단순히 SQL 표현식을 평가하거나 테스트할 때 사용됩니다.
### 3. **사용 예시**
#### 기본 예제
```sql
SELECT 1 + 1 AS result FROM dual;
```
- 이 쿼리는 `1 + 1`의 계산 결과인 `2`를 반환합니다.
#### 함수 호출
```sql
SELECT SYSDATE AS current_date FROM dual;
```
- 이 쿼리는 현재 날짜와 시간을 반환합니다.
#### 문자열 처리
```sql
SELECT 'Hello, World!' AS greeting FROM dual;
```
- 이 쿼리는 `'Hello, World!'`라는 문자열을 반환합니다.
### 4. **기타 데이터베이스**
- Oracle에서만 사용하는 가상 테이블로, 다른 SQL 데이터베이스에서는 `DUAL` 테이블이 없을 수 있습니다. 예를 들어, MySQL에서는 비슷한 목적을 위해 `SELECT 1` 같은 쿼리를 사용할 수 있습니다.
### 요약
`DUAL`은 Oracle에서 단일 행과 단일 열을 가진 가상 테이블로, 주로 간단한 SQL 계산, 함수 호출 및 상수 값을 반환하는 쿼리에서 사용됩니다. 실제 데이터 저장 용도가 아니라, SQL 표현식을 테스트하거나 계산 결과를 얻기 위해 존재합니다.
'Data Analysis 데이터 분석 > SQL 통한 Database 관리' 카테고리의 다른 글
결제 - 대사, 정산 (0) | 2024.08.20 |
---|---|
select nvl() from dual (0) | 2024.08.20 |
like연산자 (0) | 2024.08.20 |
select count(*) CNT from EMP_TBL A, RULE_TBL B where A.Ename like B.Rule (0) | 2024.08.20 |
inner join (0) | 2024.08.20 |