MS SQL Server 中的 Select into 和临时表
1. 选择:
假设一个表有一些特定的行必须转移到同一个数据库的另一个表。可以使用select into语句来完成,如下所示 -
select list into destination from source (where condition)
例子 :
有两个表名为 student 和 scores。学生的分数必须从分数转移到学生表。这必须这样做:
Select *
from student;
Name | Rollno | Course |
---|---|---|
Maya | 111 | CSE |
Naina | 112 | ECE |
Bobby | 113 | EEE |
Clara | 114 | Mech |
Select *
from marks;
Name | Rollno | Mks |
---|---|---|
Maya | 111 | 85 |
Naina | 112 | 75 |
Bobby | 113 | 65 |
Clara | 114 | 55 |
Select mks into student
from marks;
Name | Rollno | Course | Mks |
---|---|---|---|
Maya | 111 | CSE | 85 |
Naina | 112 | ECE | 75 |
Bobby | 113 | EEE | 65 |
Clara | 114 | Mech | 55 |
分数将被添加到学生表中。 'where' 子句可用于条件。它是可选的。
2.临时表:
用户有时想要从给定的表值创建一个单独的表。它必须使用临时表概念来完成。可以通过两种方式创建临时表:使用 create table 语法或 select into 语法。
选择:
必须使用 select into 语句从学生表创建一个新表,如下所示:
Select *
from student;
Name | Rollno | Course |
---|---|---|
Maya | 111 | CSE |
Naina | 112 | ECE |
Bobby | 113 | EEE |
Clara | 114 | Mech |
Select name, rollno into temp_table #details
from student;
Name | Rollno |
---|---|
Maya | 111 |
Naina | 112 |
Bobby | 113 |
Clara | 114 |
创建表:
可以使用 create table 语句创建新表:
Create table #details( name varchar2(30), rollno int);
创建了一个新表。可以从另一个表中复制这些值,如下所示:
插入#details 选择姓名,从学生中选择姓名;
Name | Rollno |
---|---|
Maya | 111 |
Naina | 112 |
Bobby | 113 |
Clara | 114 |