1
数据库技术及应用
1.8.3.3 5.3.3 生成新表查询
5.3.3 生成新表查询

使用INTO子句可以一次性地把所有满足条件的记录复制到一张新表中,通常用作记录的备份或副本,或者作为报表的基础。

使用者若要执行带INTO子句的SELECT语句,必须在目的数据库内具有CREATETABLE权限。SELECT...INTO不能随COMPUTE一起使用。

通过在WHERE子句中包含FALSE条件,可以使用SELECT...INTO创建没有数据的相同表定义(不同表名)。

语法:

参数:

根据选择列表中的列和WHERE子句选择的行,指定要创建的新表名。new_table的格式通过对选择列表中的表达式进行取值来确定。new_table中的列按选择列表指定的顺序创建。new_table中的每列与选择列表中的相应表达式具有相同的名称、数据类型和值。

当选择列表中包含计算列时,新表中的相应列不是计算列。新列中的值是在执行SELECT...INTO时计算出的。

【例5-33】从选课表中将学生学号、课程号、成绩字段的内容另存在临时表student_course中。

(1)启动MicrosofT-SQL Server Management Studio,执行“文件”→“新建”→“使用当前连接查询”命令,建立一个新的查询。

(2)在查询编辑窗口中输入如下T-SQL代码:

(3)单击工具栏上的命令,执行以上T-SQL代码命令,查看结果,如图535所示。

图5-35 使用生成新表查询

实战演练——BBS中高级查询应用

按照以下任务要求,使用SELECT语句从BBS数据库中检索数据,并将查询结果以表格的形式输出,具体要求如下:

(1)在发帖信息表(tb_Topic)中,查询所有的帖子编号、帖子标题、发帖人编号、发帖人姓名及发帖人电子邮箱信息。

具体操作步骤如下:

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:单击工具栏上的按钮,或者执行“文件”→“新建”→“使用当前连接查询”命令,建立一个新的查询。

步骤3:在查询编辑窗口中输入以下T-SQL代码:

步骤4:单击工具栏上的按钮,执行以上TSQL代码命令,查看结果。

(2)查询每个用户的编号、姓名及发帖标题。

具体操作步骤如下:

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:单击工具栏上的按钮,建立一个新的查询。

步骤3:在查询编辑窗口中输入以下T-SQL代码。

步骤4:单击工具栏上的按钮,执行以上TSQL代码命令,查看结果。

(3)查询每个用户的编号、姓名及回帖标题。

具体操作步骤如下:

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:执行“文件”→“新建”→“使用当前连接查询”命令,建立一个新的查询。

步骤3:在查询编辑窗口中输入以下T-SQL代码:

步骤4:单击工具栏上的按钮,执行以上TSQL代码命令,查看结果。

(4)查询年龄最小的论坛用户的编号、姓名、出生日期和电子邮箱。

具体操作步骤如下:

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:单击工具栏上的按钮,建立一个新的查询。

步骤3:在查询编辑窗口中输入以下T-SQL代码:

步骤4:单击工具栏上的按钮,执行以上TSQL代码命令,查看结果。

(5)查询除年龄最大的论坛用户外的所有用户的编号、姓名、出生日期和电子邮箱。

具体操作步骤如下。

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:执行“文件”→“新建”→“使用当前连接查询”命令,建立一个新的查询。

步骤3:在查询编辑窗口中输入以下T-SQL代码:

步骤4:单击工具栏上的按钮,执行以上TSQL代码命令,查看结果。

(6)创建一个只有帖子编号、标题和点击率的新表New_Topic。

具体操作步骤如下。

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:单击工具栏上的按钮,建立一个新的查询。

步骤3:在查询编辑窗口中输入以下T-SQL代码:

步骤4:单击工具栏上的按钮,执行以上TSQL代码命令,查看结果。