SELECT INTO FROM与INSERT INTO SELECT区别
???--1.创建测试表
????create?TABLE?Table1
????(
????????a?varchar(10),
????????b?varchar(10),
????????c?varchar(10),
????????CONSTRAINT?[PK_Table1]?PRIMARY?KEY?CLUSTERED
????????(
????????????a?ASC
????????)
????)?ON?[PRIMARY]
????create?TABLE?Table2
????(
????????a?varchar(10),
????????c?varchar(10),
????????d?int,
????????CONSTRAINT?[PK_Table2]?PRIMARY?KEY?CLUSTERED
????????(
????????????a?ASC
????????)
????)?ON?[PRIMARY]
????GO
????--2.创建测试数据
????Insert?into?Table1?values('赵','asds','90')
????Insert?into?Table1?values('钱','asds','100')
????Insert?into?Table1?values('孙','asds','80')
????Insert?into?Table1?values('李','asds',null)
????GO
????select?*?from?Table2
????--3.INSERT?INTO?SELECT语句复制表数据
????Insert?into?Table2(a,?c,?d)?select?a,c,5?from?Table1
????GO
????--4.显示更新后的结果
????select?*?from?Table2
????GO
????--5.删除测试表
????drop?TABLE?Table1
????drop?TABLE?Table2
????? 2.SELECT INTO FROM语句
??????语句形式为:SELECT vale1, value2 into Table2 from Table1
?????要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:
???--1.创建测试表
????create?TABLE?Table1
????(
????????a?varchar(10),
????????b?varchar(10),
????????c?varchar(10),
????????CONSTRAINT?[PK_Table1]?PRIMARY?KEY?CLUSTERED
????????(
????????????a?ASC
????????)
????)?ON?[PRIMARY]
????GO
????--2.创建测试数据
????Insert?into?Table1?values('赵','asds','90')
????Insert?into?Table1?values('钱','asds','100')
????Insert?into?Table1?values('孙','asds','80')
????Insert?into?Table1?values('李','asds',null)
????GO
????--3.SELECT?INTO?FROM语句创建表Table2并复制数据
????select?a,c?INTO?Table2?from?Table1
????GO
????--4.显示更新后的结果
????select?*?from?Table2
????GO
????--5.删除测试表
????drop?TABLE?Table1
????drop?TABLE?Table2