西华大学数据库实验报告(三)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3次作业:select复杂查询

一、环境

运行SQL Server,并创建名为student数据库、“学生信息”表、“课程”表、“学生成绩”表。

二、作业内容

在“学生成绩”表中,使用SELECT语句完成下面的查询。

(1)在“课程”表中查询所有学生的“课程号”和“课程名称”。

use student

go

select distinct课程号,课程名称

from课程_蒲强林

go

运行结果截图:

(2)在“课程”表中查询所有没有“先修课程”的课程的“课程号”和“课程名称”

use student

go

select课程号,课程名称

from课程_蒲强林

where先修课程is NULL

go

运行结果截图:

(3)在“课程号”表中查询“学分”在4-6之间的课程的“课程号”和“课程名称”。

use student

go

select课程号,课程名称

from课程_蒲强林

where学分>=4 and学分<=6

go

运行结果截图:

(4)在“课程”表中查询所有“课程名称”中包含“数据库”字样的课程的全部信息,将查询结果按“课程名称”降序排列。

use student

go

select*

from课程_蒲强林

where课程名称like'%数据库%'

order by课程名称DESC

go

运行结果截图:

(5)查询“课程”表课程的总数。

use student

go

select count(*)课程总数

from课程_蒲强林

go

运行结果截图:

(6)查询至少选修了2门课程以上的学生的学号。

use student

go

select distinct学号

from学生成绩_蒲强林

group by学号

having count(*)>=2

go

运行结果截图:

(7)查询每个学生所选修的课程的分数,在查询结果中显示学生的“学号”、“课程名称”和该课程的“分数”。

use student

go

select学号,课程名称,分数

from学生成绩_蒲强林,课程_蒲强林

where学生成绩_蒲强林.课程号=课程_蒲强林.课程号

go

运行结果截图:

(8)查询“先修课程”为NULL的课程的“课程名”以及该课程的“学分”。

use student

go

select课程名称,学分

from课程_蒲强林

where先修课程is null

go

运行结果截图:

(9)查询其它系中比“管理系”的所有学生年龄都小的学生的“姓名”、“年龄”和“性别”。

use student

go

select姓名,性别,年龄

from学生信息_蒲强林

where所在系!='管理系'and年龄

select年龄

from学生信息_蒲强林

where所在系='管理系')

go

运行结果截图:

(10)查询至少选修了2门课程的学生的“姓名”。

use student

go

select distinct姓名

from学生成绩_蒲强林,学生信息_蒲强林

where学生成绩_蒲强林.学号=学生信息_蒲强林.学号

group by姓名

having count(*)>=2

go

运行结果截图:

(11)将“学生信息”表中“计算机系”的学生的全部信息插入到“计算机系学生信息”表中。

use student

go

select*

into计算机系学生信息_蒲强林

from学生信息_蒲强林

where所在系='计算机系'

go

运行结果截图;

(12)创建和“学生信息”表的表结构相同的“管理系学生信息”表,但该表中不包含任何记录。之后用带子查询的INSERT将“管理系”学生的全部信息插入到“管理系学生信息”表中。

use student

go

select*into管理系学生信息_蒲强林

from学生信息_蒲强林

where学号is null

go

运行结果截图:

use student--调用数据库

go

insert into管理系学生信息_蒲强林

select*

from学生信息_蒲强林

where所在系='管理系'

go

运行结果截图:

(13)查询“赵燕”同学选修的所有课程“课程名称”、“学分”、“分数”,对结果按照“分数”升序排列。

use student

go

select课程名称,学分,分数

from学生成绩_蒲强林,课程_蒲强林

where学生成绩_蒲强林.课程号=课程_蒲强林.课程号and学号in(

select学号

from学生信息_蒲强林

where姓名='赵燕') order by分数

go

运行结果截图:

二、小结

体会对表查询和子查询的用法。

相关文档
最新文档