实验三数据查询(三)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三(3)数据查询
一.实验目的
1.通过使用SQL查询分析器(Server Query Analyzer),熟练基本SELECT查询,掌握脚本的修改和执行。
2.通过使用SQL查询分析器(Server Query Analyzer),掌握使用SELECT语句的主要子句,实现数据表的复杂检索。
二.实验要求
1. 熟练使用SQL语句实现单表查询。
2. 熟练使用SQL语句实现连接查询。
3. 熟练使用SQL语句实现嵌套查询。
三. 实验准备
1. 掌握SQL语句的用法。
2. 已完成实验一、二,成功创建了数据库student和其中包含的表。
四.实验内容
(二)SQL复合查询
操作:启动“查询分析器”,用Transcat-SQL语句完成指定的操作,或分析并执行Transcat-SQL 语句,观察输出结果。
练习1:查询课程数。
写出查询语句:
Select count (*) From course
练习2:查询不同学分的个数(学分分为几种)。
写出查询语句:
Select Distinct count (credit) From course
练习3:查询信息系学生的平均年龄。
写出查询语句:
Select AVG(sage) From student Where sdapt=’信息系’
练习4:查询计算机系学生选修课程的最高成绩。
写出查询语句:
Select MAX(grade) From student,sc Where sc.sno=student.sno and sdept=’计算机系’
练习5:查询各个学分及相应的课程数。
写出查询语句:
Select COUNT(cno),credit From course group by credit
练习6:查询有2门以上课程成绩>=90的学生学号及成绩>=90的课程数。
写出查询语句:
Select sno,COUNT(sno) Where sno in(Select sno From sc Where grade>=90 ) group by sno having COUNT(sno)>=2
练习7:“数据库原理”课程成绩高于李勇的学生学号和姓名
Select sno,sname From sc,course,student Where student.sno=sc.sno and o=course=cno and grade>(Select grade From sc,course,student Where student.sno=sc.sno and o=course=cno and sname=’李勇’ and cname=’数据库原理’)
练习8:查询所有与李勇选修相同课程的学生的学号和姓名
Select student .sno,sname From sc,student Where sc.sno=student.sno and sname=’李勇’
练习9:查询年龄介于李勇的年龄与25岁之间的同学的学号、姓名、年龄
Select sno,sname,sage From student Where sage<=25 AND sage>=(Select sage From student Where sname=’李勇’ )