1.SELECT语句的基本语法
2.掌握数据汇总的方法
3.WITH CHECK OPTION对视图使用的影响
七、实验步骤
1.启动SQL查询分析器(SQL Server Management Studio);
2.选择数据库University,验证如下例题:
第一部分:
1 查询全体学生的详细记录。这是一个无条件的选择查询,其命令为:
select * from Students
2查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。这是一个无条件的投影查询,其命令为:select Sname,Sno,Sdept from Students
3 查询选修了课程的学生学号。其命令为:
–3查询选修了课程的学生学号
–因为没有选修表,先修课充当选修课
select distinct Sno as 学号 from Reports
where Cno in(select Cno from Courses where Pre_Cno is not null)
4查询数学系全体学生的学号(Sno)和姓名 (Sname)。其命令为:
select Sno,Sname from Students
where Sdept=‘数学’
5 查询所有年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。其命令为:select Sname as 姓名,Sage as 年龄 from Students
where Sage<=22 and Sage>=18
6 查询年龄不在18-22岁之间的学生姓名(Sname)及年龄(Sage)。其命令为:
select Sname as 姓名,Sage as 年龄 from Students
where Sage>22 or Sage<18
7 查询自动化系、数学和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。其命令为:select Sno as 学号,Sname as 姓名,Ssex as 性别 from Students
where Sdept=‘自动化’ or Sdept=‘数学’ or Sdept=‘计算机’
8 查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。其命令为:
select Sno as 学号,Sname as 姓名,Ssex as 性别 from Students
where Sname like ‘刘%’
9 查询课程名为“DB_设计”的课程号(Cno)和学分(Credits)。其命令为:
select Cno as 课程号 , Gredits as 学分 from Courses
where Cname=‘DB_设计’
10 查询以"DB_"开头,且倒数第2个汉字字符为“设”的课程的详细情况。其命令为:
select * from Courses
where Cname like ‘DB_%设_‘ESCAPE’’
11假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。其命令为:
select Sno as 学生号,Cno as 课程号 from Reports
where Grade is NULL
12 查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。其命令为:
select * from Students
order by Sdept desc,Sage asc
13 查询学生总人数。其命令为:
select count(Sno) as 学生总人数 from Students
14 查询选修了课程的学生人数。其命令为:
select count(distinct Sno) as 人数 from Reports
where Cno in(select Cno from Courses where Pre_Cno is not null)
15 计算选修C01号课程的学生平均成绩。其命令为:
select avg(Grade)as C01课程平均成绩 from Reports
where Cno=‘C01’
16 查询选修C01号课程的学生最高分数。其命令为:
select max (Grade) as C01课程最高分 from Reports
where Cno=‘C01’
17 计算每门课程的平均成绩、最高分、最低分和总分。其命令为:
select Courses.Cname AS 课程名,avg(Reports.Grade) as 平均成绩,max(Reports.Grade) as 最高成绩,min(Reports.Grade) as 最低成绩
from Reports,Courses
group by Courses.Cname
第二部分:
1.从Students表中建立查询所有男(女)生信息的视图STU_SEX。视图的列名为SNO、SNAME、SSEX和SAGE。
代码: CREATE VIEW STU_SEX(SNO,SNAME,SSSEX,SAGE)
as Select Sno,Sname,Ssex,Sage from Students
2.从Courses表中建立查询所有课程先修课信息的视图课程Courses_PRE。视图的列名为课程号、课程名称和先修课名称。
代码:CREATE VIEW Courses_PRE(课程号,课程名称,先修课名称) AS
SELECT Cno,Cname,(select Cname from Courses as Courses1 where Courses1.Cno=Courses.Pre_Cno)
from Courses
3.从Reports表中建立查询成绩大于等于80信息的视图STU_CJ1。视图的列名为学号、课程号和成绩。
代码:CREATE VIEW STU_CJ1 as
select * FROM Reports
where Grade>80 OR Grade=80
4.从Students、Reports和Courses三个表建立查询学生选修情况的视图STU_CJ2。视图的列名为姓名、课程名称和成绩。
代码:CREATE VIEW STU_CJ2 as
select Students.Sname as 姓名,Courses.Cname as 课程名称,Reports.Grade as 成绩
from Students,Courses,Reports
where Reports.Sno=Students.Sno and Reports.Cno=Courses.Cno
5.从Students、Reports和Courses三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。视图的列名为姓名、课程名称和成绩。
第5题是在第4题基础上修改的
代码:CREATE VIEW STU_CJ3(姓名,课程名称,成绩) as
select * from STU_CJ2
where 成绩<80
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数同学面临毕业设计项目选题时,很多人都会感到无从下手,尤其是对于计算机专业的学生来说,选择一个合适的题目尤为重要。因为毕业设计不仅是我们在大学四年学习的一个总结,更是展示自己能力的重要机会。
因此收集整理了一份《2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。
既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!
由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频
如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
,选择一个合适的题目尤为重要。因为毕业设计不仅是我们在大学四年学习的一个总结,更是展示自己能力的重要机会。**
因此收集整理了一份《2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。
[外链图片转存中…(img-vKHoSmin-1712569454655)]
[外链图片转存中…(img-3fTiovBz-1712569454655)]
[外链图片转存中…(img-YhIbW5sv-1712569454656)]
既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!
由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频
如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
[外链图片转存中…(img-ARYrUnVt-1712569454656)]