merge into 、insert into 、insert overwrite
时间: 2024-01-03 14:22:41 浏览: 136
Oracle merge into用法
merge into是一种用于合并数据的操作,insert into是向表中插入数据的操作,insert overwrite是覆盖表中数据的操作。
1. merge into:merge into语句用于将源表的数据合并到目标表中。它可以根据指定的条件来判断是执行插入、更新还是删除操作。下面是一个示例:
```sql
MERGE INTO target_table AS T
USING source_table AS S
ON T.id = S.id
WHEN MATCHED THEN
UPDATE SET T.name = S.name
WHEN NOT MATCHED THEN
INSERT (id, name) VALUES (S.id, S.name);
```
2. insert into:insert into语句用于向表中插入数据。可以一次插入多行数据,也可以从其他表中选择数据插入。下面是两个示例:
```sql
-- 插入多行数据
INSERT INTO tbl (col1, col2, col3)
VALUES (1, 'zs', 18),
(2, 'ls', 19);
-- 从其他表中选择数据插入
INSERT INTO tbl
SELECT col1, col2, col3
FROM other_tbl;
```
3. insert overwrite:insert overwrite语句用于覆盖表中的数据,即将表中的全部数据替换掉。下面是一个示例:
```sql
INSERT OVERWRITE tbl
SELECT col1, col2, col3
FROM other_tbl;
```
阅读全文