SQL 통한 Database 관리

values ()

JBS 12 2024. 8. 29. 21:00

`VALUES`는 SQL에서 주로 데이터를 삽입하거나 특정 값 집합을 사용하기 위해 사용되는 구문입니다. 다양한 상황에서 사용되며, 그 목적에 따라 의미와 기능이 약간씩 다릅니다.

### 1. **INSERT INTO 구문에서 사용**
`VALUES`는 주로 테이블에 데이터를 삽입할 때 사용됩니다. `INSERT INTO` 구문과 함께 사용하여 특정 컬럼에 값을 넣습니다.

#### 예시:
```sql
INSERT INTO employees (emp_id, name, salary)
VALUES (101, 'John Doe', 50000);
```
- 이 쿼리는 `employees` 테이블의 `emp_id`, `name`, `salary` 열에 각각 `101`, `'John Doe'`, `50000` 값을 삽입합니다.

여러 행을 동시에 삽입할 수도 있습니다:
```sql
INSERT INTO employees (emp_id, name, salary)
VALUES (102, 'Jane Doe', 60000),
       (103, 'Alice', 55000),
       (104, 'Bob', 52000);
```
- 이 쿼리는 여러 개의 레코드를 한 번에 삽입합니다.

### 2. **VALUES 절만 사용하여 값 생성**
일부 데이터베이스 시스템에서는 `VALUES` 구문을 직접 실행하여 값을 생성하고 이를 조회할 수 있습니다. 하지만 이 용법은 대부분의 SQL 표준에서 직접적으로 지원하지는 않으며, 특정 DBMS에서만 유효합니다.

#### 예시:
```sql
VALUES (1, 'A'), (2, 'B'), (3, 'C');
```
- 이 쿼리는 3개의 행이 포함된 결과를 반환합니다. 각 행에는 두 개의 값이 있습니다.

일반적으로, 이 구문은 더 복잡한 쿼리나 일시적인 값 집합을 생성할 때 사용됩니다.

### 3. **DEFAULT VALUES 사용**
특정 열에 대해 기본값을 삽입하고 싶을 때, `DEFAULT VALUES` 구문을 사용할 수 있습니다. 이는 모든 컬럼에 대해 기본값을 삽입하는 상황에서 유용합니다.

#### 예시:
```sql
INSERT INTO employees DEFAULT VALUES;
```
- 이 쿼리는 `employees` 테이블에 있는 모든 컬럼에 대해 미리 정의된 기본값을 삽입합니다. 기본값이 없는 컬럼은 `NULL` 값이 삽입됩니다.

### 4. **UPDATE에서 VALUES 사용**
일부 DBMS에서는 `UPDATE` 문에서 `VALUES` 키워드를 사용하여 이전의 값을 참조하거나 기본값으로 설정할 수 있습니다.

#### 예시:
```sql
UPDATE employees
SET salary = VALUES(salary) + 1000
WHERE emp_id = 101;
```
- 이 구문은 `emp_id`가 `101`인 직원의 급여를 기존 급여에서 `1000`만큼 증가시키는 것입니다. 그러나 `VALUES` 키워드가 `UPDATE` 문에서 지원되는지는 DBMS에 따라 다를 수 있습니다.

### 결론
- `VALUES`는 주로 테이블에 데이터를 삽입할 때 사용됩니다.
- 일부 DBMS에서는 `VALUES` 절만으로 값을 생성하여 쿼리할 수 있으며, `UPDATE`에서 사용될 수도 있습니다.
- SQL의 다른 키워드와 함께 사용되는 방법에 따라 의미와 기능이 달라집니다.

'SQL 통한 Database 관리' 카테고리의 다른 글

select dname, loc, deptno from dept order by dname, loc, 3 desc  (0) 2024.08.30
별칭이 안되는 구문은?  (0) 2024.08.29
savepoint ?  (0) 2024.08.29
rollback to savepoint  (0) 2024.08.29
update set  (0) 2024.08.29