SQL如何把查询的结果加入到一个新表中【这表还没有建立】
例如:请将“学生”表中的年龄大于18周岁的学生插入到“成年学生”表中
学生(学号,姓名,性别,出生日期)
成年学生这张表还没有建立一个语句可以实现吗?需要完成的就是将一个查询结果插入到一个还没有建立的表中,也就是我们的查询和建表以及插入这都在一条语句中实现这样可以吗?谢谢
例如:请将“学生”表中的年龄大于18周岁的学生插入到“成年学生”表中
学生(学号,姓名,性别,出生日期)
成年学生这张表还没有建立一个语句可以实现吗?需要完成的就是将一个查询结果插入到一个还没有建立的表中,也就是我们的查询和建表以及插入这都在一条语句中实现这样可以吗?谢谢
into 成年学生
from 学生
where 年龄>18
FROM tableName
select *
into 成年学生
from 学生
where datediff(yy,出生日期,getdate())>18
用Select [学生表列名a] [as] [成年学生表列名b], [].... into ... from ... where ...
select 学号,姓名 into 成年学生
from 学生
where datediff(yy,出生日期,getdate())>18
into 成年学生
from 学生
where datediff(yy,出生日期,getdate())>18就是这样写的呀!!测试过的,没有问题呀!!
from 学生
where datediff(yy,出生日期,getdate())>18
我写的代码如下:
select 学号,课程号,0
into 学生选课
from 选课
where 课程号='1'这样的对吗?运行的时候他说:没有为第 3 列(属于 '学生选课')指定列。
这到底是为什么啊?
into 学生选课
from 选课
where 课程号='1'
insert 学生选课(学号,姓名,成绩)
select 学号,课程号,0 from 学生
into 成年学生
from 学生
where 年龄>18
SELECT * INTO #temp FROM dbo.students WHERE age>18
这句话创建的是临时表执行之后只会在内存中存在并创建实际的表。
SELECT * INTO adultStudent FROM dbo.students WHERE age>18
这句话创建的是实际的表执行后会在内存中创建一个真实的表。
不过这两种方式都只能执行一次,第二次执行时要把之前建立的表给DROP掉,否则会报错的。