SQL 통한 Database 관리

dual이 뭐니

JBS 12 2024. 8. 20. 19:07

`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 표현식을 테스트하거나 계산 결과를 얻기 위해 존재합니다.

'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