3实验三-单表查询

时间:2022-07-28 16:56:17 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
实验三单表查询

一、实验目的

掌握简单SQL 查询语句的应用,包括liketoporder bycompute 、聚集函数的应用。

二、实验内容

1、根本查询

1〕查询学生表中全体学生的全部信息。 select*fromStudent

2〕检索全体学生的学号、XX

selectSno,Sname fromStudent

2、查询时改变列标题的显示

检索全体学生的学号、XX、家庭地址信息,并分别加上“学生〞、“学号〞、“家庭地址〞的别名信息。

selectSnameas学生,Snoas学号,Home_addras家庭地址 fromStudent

3、条件查询

1〕查询成绩大于80分的学生的学号与课程号、成绩。

selectSno,Cno,Grade fromSC

whereGrade>80

2〕查询成绩介于75~80分的学生的学号与课程号、成绩。

selectSno,Cno,Grade

fromSC

whereGradebetween 75 and 80

3〕查询选修了课程号为“002〞,且成绩大于80的学生的学号。

selectSno

fromSC

whereGrade>80 andCno='002'

4〕某些学生选修某门课程后没有参加考试,所以有选课记录,但没有考试成绩,下面我们来查一下缺少成绩的学生的学号和相应的课程号。

selectSno,Cno fromSC

whereGradeisnull

4、基于IN子句的数据查询

从课程表中查询出“高数〞、“C语言程序设计〞的所有信息。

select*fromCourse

whereCnamein('高数','c语言程序设计')

5基于BETWEEN。。。。AND子句的数据查询

查询所有成绩在70-80之间的学生选课信息。(between···and为闭区间)

select*fromSC

whereGradebetween 70 and 80

6、基于Like子句的查询 1从学生表中分别检索出姓张的所有同学的资料;检索名字的第二个字是“红〞或“虹〞的所有同学的资料。

select*fromStudent

1 / 3


whereSnameLIKE'%'orSnameLIKE'_%'orSnameLIKE'_%'

2〕查询课程名为Visual_Basic的课程的学分。〔提示:使用ESCAPE短语〕

selectCreditfromCourse

whereCnameLIKE'Visual\_Basic'ESCAPE'\'

7、使用top关键字查询

1〕从选课表中检索出前3个课程信息。

selectTop 3 * fromCourse

2〕从选课表中检索出前面20%的课程信息。

selectTop 20 PERCENT* fromCourse

8、消除重复行

检索出学生已选课程的课程号,要求显示的课程号不重复。 selectdistinctCnofromCourse 9、查询经过计算的值。

查询全体学生的XX与其年龄〔提示:利用系统函数getdate()

selectSnameasXX,YEAR(getdate())-YEAR(Birth)as年龄 fromStudent

10、使用ORDER BY语句对查询的结果进行排序

(1)显示所有学生的根本信息,按班号排列,班号相同那么再按学号排列。

select*fromStudent OrderbyClassno,Sno

(2) 查询全体学生的XX与其年龄,并按学生的年龄的降序排列。

selectSnameasXX,year(getdate())-year(Birth)as年龄 fromStudent Orderby'年龄'desc

11、使用聚合函数

1〕查询学生总人数。

selectcount(distinctSno)as学生总人数 fromStudent

2)计算“002〞号课程的学生平均成绩、最高分、最低分。

selectAVG(Grade)as平均分,MAX(Grade)as最高分,MIN(Grade)as最低分 fromSC

WhereCno='002'

12、使用Group子句进行查询 1〕查询各班级学生总人数。

selectClassnoas班级,COUNT(*)as学生人数 fromStudent GroupbyClassno

2)汇总总分大于150分的学生的学号与总成绩。

selectSnoas学号,Sum(Grade)as总成绩 fromSC

GroupbySno

HavingSum(Grade)>150

3)查询各个课程号相应的选课人数。

selectCnoas课程号,Count(*)as学生人数 fromSC

GroupbyCno

13、使用Computecompute by子句进行查询 1〕汇总每个学生的学号与总成绩。

2 / 3


selectSno学号,Grade成绩 fromSC

OrderbySno

ComputeSum(Grade)bySno

2)按学号汇总出每个学生的学号与总成绩、最高分、最低分,与所有学生总成绩。

selectsno学号,grade成绩 fromSC orderbysno

computesum(grade),MAX(grade),MIN(grade)bysno selectsno学号,grade成绩 fromSC

orderbysno

computesum(grade)

观察使用Compute子句和Compute by 子句执行结果有何不同? 答:Compute by子句执行后结果以by之后的关键词进行排序。

3 / 3


本文来源:https://www.wddqw.com/doc/1ba36758e618964bcf84b9d528ea81c758f52e07.html