2024年6月2日发(作者:)
sqlserver中select insert和insert select
在 SQL Server 中,`SELECT INTO`、`INSERT` 和 `INSERT INTO SELECT` 是用于选择数据并将其
插入到表中的不同 SQL 语句。
1. SELECT INTO:
`SELECT INTO` 语句用于从一个表中选择数据并将其插入到一个新表中。新表的结构将与
SELECT 语句中的列相匹配。
```sql
SELECT column1, column2, ...
INTO new_table
FROM old_table
WHERE condition;
```
示例:
```sql
SELECT FirstName, LastName, City
INTO NewEmployees
FROM Employees
WHERE Department = 'Sales';
```
上述示例中,`NewEmployees` 是一个新表,它包含了从 `Employees` 表中选择的符合条件
的数据。
2. INSERT:
`INSERT` 语句用于将一行或多行数据插入到表中,数据来源可以是一个值列表或另一个查询
的结果。
```sql
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
```
示例:
```sql
INSERT INTO Customers (FirstName, LastName, Email)
VALUES('John','Doe','********************');
```
3. INSERT INTO SELECT:
`INSERT INTO SELECT` 语句用于选择数据并将其插入到表中。与 `SELECT INTO` 不同,`INSERT
INTO SELECT` 是将选定的数据插入到一个现有的表中。
```sql
INSERT INTO destination_table (column1, column2, ...)
SELECT column1, column2, ...
FROM source_table
WHERE condition;
```
示例:
```sql
INSERT INTO Orders (CustomerID, OrderDate, ProductID, Quantity)
SELECT CustomerID, GETDATE(), ProductID, Quantity
FROM ShoppingCart
WHERE CustomerID = 123;
```
上述示例中,从 `ShoppingCart` 表中选择符合条件的数据,并将它们插入到 `Orders` 表中。
需要注意的是,使用这些语句时应该确保目标表的结构与源表或源查询的结果兼容。此外,
对于 `INSERT INTO SELECT` 语句,确保选择的列和目标表的列一一对应。


发布评论