insert into select示例
时间: 2024-04-26 22:18:39 浏览: 80
insert into select是一种SQL语句,用于将一个表中的数据插入到另一个表中。它的语法如下:
```
INSERT INTO 目标表 (列1, 列2, 列3, ...)
SELECT 列1, 列2, 列3, ... FROM 源表
```
其中,目标表是要插入数据的表,源表是提供数据的表。通过这个语句,可以将源表中的指定列的数据插入到目标表中的对应列中。
示例:
假设有两个表:students和new_students,students表包含学生的姓名、年龄和成绩信息,new_students表是一个空表。现在我们想要将students表中年龄小于18岁的学生信息插入到new_students表中。
```
INSERT INTO new_students (姓名, 年龄, 成绩)
SELECT 姓名, 年龄, 成绩 FROM students
WHERE 年龄 < 18
```
这个示例中,我们选择了students表中年龄小于18岁的学生信息,并将其插入到new_students表中的对应列中。
相关问题
mysql insert into select
MySQL的INSERT INTO SELECT语句是一种用于将查询结果插入到表中的语法。它允许您从一个表中选择数据,并将其插入到另一个表中。
语法如下:
```
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
```
其中,table2是要插入数据的目标表,column1、column2、column3等是目标表的列名。table1是源表,SELECT语句用于选择要插入的数据。WHERE条件是可选的,用于过滤源表中的数据。
示例:
假设我们有两个表:employees和new_employees。我们想要将employees表中年龄大于30岁的员工插入到new_employees表中。
首先,我们创建new_employees表:
```
CREATE TABLE new_employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT
);
```
然后,我们使用INSERT INTO SELECT语句将符合条件的数据插入到new_employees表中:
```
INSERT INTO new_employees (name, age)
SELECT name, age
FROM employees
WHERE age > 30;
```
这样,符合条件的员工数据就会被插入到new_employees表中。
达梦insert into select
达梦数据库也支持使用INSERT INTO SELECT语句将数据从一个表插入到另一个表中。使用方法类似于其他数据库管理系统。
以下是一个示例:
INSERT INTO [目标表] ([字段1],[字段2]) SELECT [字段1], [字段2] FROM [源表]
在这个语句中,你需要将"[目标表]"替换为你要插入数据的目标表的名称,"[字段1]"和"[字段2]"替换为目标表中对应的字段名称,"[源表]"替换为你要获取数据的源表的名称。
需要注意的是,达梦数据库中的INSERT INTO SELECT语句不支持多行数据返回。如果你需要返回多行数据,可以使用SELECT ... BULK COLLECT INTO语句结合集合类型。
另外,如果你需要在动态SQL中使用SELECT INTO语句,需要使用EXECUTE IMMEDIATE语句来执行动态SQL,并使用INTO子句将查询结果赋值给变量。
以下是一个示例:
CREATE OR REPLACE PROCEDURE T_1208(ID INT) AS
Z INT;
BEGIN
EXECUTE IMMEDIATE 'SELECT TOP 1 ID FROM D_I WHERE ID > ?' INTO Z USING ID;
PRINT Z;
END;
在这个示例中,我们使用EXECUTE IMMEDIATE语句执行动态SQL,并将查询结果赋值给变量Z。然后我们可以使用PRINT语句打印出Z的值。
希望这些信息对你有帮助。如果你还有其他问题,请随时提问。
阅读全文