实验3数据库 数据查询
更新时间:2024-01-01 08:34:01 阅读量: 教育文库 文档下载
《数据库原理与应用》0905111、0905112学号_____________________姓名_____________________
实验三 数据查询
一、实验目的
关系数据库的查询语句是SQL语言中最灵活的部分,必须仔细体会,多多上机练习,才能真正体会和理解其中的奥妙和细微差别。本实验的目的就是让同学们通过练习掌握常用的查询语句和查询技巧。 请同学们反复练习,即使做对了也要抽时间再一次细细体会。
二、实验预习
1、SQL中查询语句格式:
select[all|distinct]<目标列表达式>[```] from where
group by<列名>[having<条件表达式>] order by<列名>[asc|desc]
2、连接查询有哪些不同的连接方式?有什么特点。
等值于非等值连接查询:连接运算符为=号时为等值连接,使用其他运算符称为非等值连接 自身连接:连接操作不仅可以在两个表之间进行,也可以在一个表与其自己进行连接 外连接:把舍弃的元组也保存在结果关系中,其他属性上填空值 复合条件连接:where中使用多个连接谓词 三、实验内容和要求
在实验二建立的数据库和数据表(Student、SC、Course)的基础上,用SQL语句完成下列查询,并在SQL SERVER中得以验证:
1、查询全体学生的基本信息。(请写出两种方法) select * from student; 或
select Sno,Sname,Saex,Sage,Sdept from student;
2、现需要一个“计算机系”的点名册,点名册上只要学号、姓名、性别三个方面的信息(记得给出别名,好让查询出来的结果容易识别哦)。 Select Sno 学号,Sname 姓名,Ssex 性别 From student;
3、查询“信息系”学生的学号、姓名和出生年份(起个别名,不然查询出来的结果会很难看,不信你试试
1
《数据库原理与应用》0905111、0905112学号_____________________姓名_____________________ 看,是不是结果表一点规律都没有?)。
select sno 学号,sname 姓名,2013-Sage 出生年份 from student
where sdept=’计算机’;
4、查询1号课程不及格的学生学号。查询结果按照考试成绩降序排列。 Select sno From sc
Where cno=1 and grade<60 Order by grade desc;
5、查询考试有不及格现象的学生的学号。 Select sno From sc Where grade<60;
6、查询一下尚有无考试成绩的学生的学号和相应的课程号。 Select sno,cno From sc
Where grade=null;
7、查询一下哪些学号的学生,选修了课,但还没有参加考试。 Select sno From sc
Where cno!=null and grade=null;
8、将全体学生按年龄升序排序(两种写法)。 Select * From student Order by sage desc; 或
select Sno,Sname,Saex,Sage,Sdept from student order by sage;
9、将全体学生按照系别升序排序,在系名相同的情况下再按照年龄降序排列。 Select *
2
《数据库原理与应用》0905111、0905112学号_____________________姓名_____________________ From student
Order by sdept,sage desc;
10、查询年龄在20-23岁之间的学生的学号、姓名、性别、系别。查询结果按照系别升序、年龄升序排列。 Select sno,sname,ssex,sdept From student
Where sage between 20 and 23 Order by sdept,sage;
11、查询“计算机系”姓“张”的学生的基本信息。 Select * From student
Where sname like ‘张%’and sdept=’计算机’;
12、给0905111班出一个学生点名册。要求给出学号、姓名、性别几个方面的信息。(查询结果照学号升序了吗?不然这点名册会有多么那看啊,你自己试试)。 select sno 学号,sname 姓名,ssex 性别 from student order by sno;
13、查询课程名中有“数据库“字样的课程的基本信息。
Select * From course
Where cname like ‘数据库%’;
14、查询选修过课程的学生总人数。 Select count(distinct sno) From sc;
15、查询已经选修过课程的学生学号和姓名。 Select sname,sc.sno From student,sc
Where student.sno=sc.sno;
3
《数据库原理与应用》0905111、0905112学号_____________________姓名_____________________
16、查询选修了“数据库原理“这门课程的学生学号、姓名、性别、考试成绩。将结果按照成绩降序排列。 Select student.sno,sname,ssex,grade From student,sc,course
Where student.sno=sc.sno and cname='数据库原理' and sc.cno=course.cno Order by grade desc;
17、查询0905111班学生的选课情况,要求输出选课人的学号、姓名、课程号、课程名、成绩。将查询结果按照学号升序排序。
Select student.sno,sname,sc.cno,cname,grade From student,course,sc
Where student.sno=sc.sno and sc.cno=course.cno and left(student.sno,7)=0905111;
18、输出选修了“C5“号课程的的学生成绩单,要求输出学号,姓名,成绩。查询结果按照班级升序、成绩降序排列。
Select student.sno,sname,grade From student,sc
Where student.sno=sc.sno and sc.cno=’C5’ Order by left(student.sno,7),grade desc; 19、查询每个学生的学号、对应的平均成绩。 Select student.sno,avg(grade) From student,sc
Where student.sno=sc.sno Group by student.sno;
20、查询每个课程号及其对应的选课人数、考试最高分、最低分、平均分。
Select cno 学号,count(distinct sno) 选课人数,max(grade) 最高分,min(grade) 最低分,avg(grade) 平均分 From sc Group by cno;
21、查询每个学期及其对应的开课门数、总学分。 Select semester 学期,count(cno),sum(ccredit) From course;
4
《数据库原理与应用》0905111、0905112学号_____________________姓名_____________________ 22、查询每个班的班级号及其对应的班级人数、平均年龄。
提示:可用函数left。如函数LEFT(Sno,3)表示Sno列的左面数前3个字符串) select left(sno,7),count(sno),avg(sage) from student
group by left(sno,7);
23、查询不及格门数超过3门的学生学号。 Select sno From sc Where grade<60 Group by sno Having count(*)>3;
24、查询不及格门数超过3门的学生学号、姓名、性别(2种方法,1班的可在后面嵌套讲完再补第2种方法)。 方法一:
Select student.sno,sname,ssex From student,sc
Where grade<60 and student.sno=sc.sno Group by student sno Having count(*)>3; 方法二:
Select sno,sname, From student
Where sno in( select sno From sc Group by sno
Where count(cno)>3);
25、查询平均成绩在75分以上的学生的学号、姓名、所在系。 Select sno,sname,sdept From student
Where sno in(select sno From sc Group by sno
Where avg(grade)>75);
26、只统计80分以上的选课情况,查询选修了3门以上的学生学号、选课门数。 Select sno,count(cno) From sc Where grade>80 Group by sno
Having count(sno)>3);
27、只统计0905111班的同学:查询每门课程的课程号、选修人数、平均成绩。 Select cno,count(sno),avg(grade) From sc
5
正在阅读:
实验3数据库 数据查询01-01
马拉松工作细则06-05
小学生英文幽默小故事11-20
苏教版语文七年级(上)期末总复习08-08
Android自动化测试之Monkeyrunner从零开始05-28
《创新大学英语综合教程》1试卷试题08-10
微处理器实验指导书(电信学院)201504-27
10种火场中逃生自救方法05-07
2018年成都市温江区惠幼招生公告03-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数据查询
- 实验
- 数据库
- 2016年“百万网络”公众答题
- (整理)南大社保考研《社会保障理论与制度》读书笔记第九章社会保障立法与管理
- 团的知识精选300题(有答案)
- 松溪一中2013届高考语文复习即时测古今异义词答案
- 西安石油大学大二(上)C++面向对象程序设计课件第3章程序
- 教育座谈会发言稿
- 国有大型钢企管理问题与成本控制
- 2015春七年级数学下册 7.2《一元一次不等式》教案3(沪科版)
- 2018-2019学年教科版小学科学二年级上册教学计划
- 有机化学试卷及答案
- 医学微生物学复习重点
- 建筑设计院奖金分配办法
- 动物药类
- 通信设计题库最终版 - 图文
- 楼道防踩踏应急预案2016秋
- 《三角形的特性》教学设计MicrosoftWord文档
- 我心目中的好老师感言模板
- 社区社会主义核心价值观学习安排计划
- 12级大学生就业创业课程考试2
- 上海市长宁、嘉定区2017届高三上学期期末质量调研(一模)数学试题