数据库实验三查询.docx
《数据库实验三查询.docx》由会员分享,可在线阅读,更多相关《数据库实验三查询.docx(19页珍藏版)》请在冰豆网上搜索。
数据库实验三查询
南昌大学实验报告
---实验三查询
学生姓名:
丁金芝学号:
6100511080专业班级:
管理科学与工程类112班
实验类型:
■验证□综合□设计□创新实验日期:
实验成绩:
一、实验目的
1.掌握select语句的基本语法
2.了解select语句中各子句的作用和特点
3.掌握select语句的统计函数的作用和用法
4.掌握子查询的用法
5.掌握连接查询的用法
二、实验内容与结果
(一).简单查询
1.select选择列
--1、选择所有列(*),查询学生表中的所有纪录。
--2、选择特定列,查询学生表中全体学生的学号,姓名,性别。
--3、计算列,查询选课表中给每个学生加了20分后的所有课号和成绩
--4、改变列标题的名称,查询所有学生的学号,课号和成绩并将成绩改名为期末分数显示出来。
--5、删除重复行,查询一列中不重复的记录值.查询所有的学生的性别,要求不重复。
--6、限制返回行数
--topn关键字;只显示表中前面n条记录。
--topnpercent关键字;只显示前n%条记录。
--显示学生表中的前3条记录。
--显示学生表中的前3%条记录
2.where子句
--1、比较运算符:
(1)查询分数<80分学生的学号、成绩、课号。
(2)查询学号001学生的情况。
--2、范围运算符:
查询学生分数在70-80之间的学生的学号、课号。
(包括70分、80分)
--3、列表运算符:
(1)查询学号为'001'、'005'、'007'、'008'的学生学号。
(2)查询学生成绩不在60-70之间的学生的学号、课号、成绩。
--4、匹配运算符:
(1)查询姓刘学生的信息。
(2)查询姓刘单名的学生信息。
(3)查询01-03年级学生的信息。
--5、空值运算符,查询变动情况为空的学生
3.orderby子句
--查询学生课程编号为'05'的课程的成绩,并按成绩的降序进行排列。
4.使用函数:
--1、计算学号为001的学生总分数、平均分。
--2、集合函数avg()、count()、count(*)、max()、min()、sum()
(1)查询学期成绩表中的平均分,最大分数,最小分数,总和(前面四项为查询出的相应字段)
(2)统计课程表中所有记录数和各个列中值的个数,要求不能重复。
5.groupby和having子句
--1、简单分组:
(1)按照班级进行分组,查询一下每个班级的人数。
(2)查询每门课程的平均成绩。
--2、使用having条件
(1)查询班级为'01'的班级中学生的人数。
(2)查询各班的学生人数超过3人的班级。
(3)查询每门课程的平均成绩。
(4)查询每门课程的平均成绩<80分的课号。
6.compute和computeby子句
--对不及格人数进行汇总,产生汇总行,结果中显示学号,课号,成绩字段。
--对每门课程不及格人数的记录进行明细汇总。
(对每门课程的不及格人数生成汇总行。
)
7.into子句
--将不及格学生的学号和成绩保存在新表不及格学生名单中。
--将不及格学生的学号和成绩保存在临时表不及格学生中。
--查看临时表中的信息
(二).多表查询
1、列出学生的学号、姓名、课程名称、成绩。
2、列出选修了‘01’或‘05’课程代号的学生学号、姓名、课程名称、成绩
3、查询选修了’01’课程编号且该课程的成绩在90分以上的学生姓名。
4、学生表和学期成绩表进行联接.显示出所有的列.并把学生表中的信息全部显示出来.
5、学生表和学期成绩表进行联接.把两个表中的信息全部显示出来.
6、查询每门课程名称以及该课程的平均分数。
7、查询学生姓名、每个学生的平均分数
8、查询课程分数大于75分的学生学号、姓名、课程名称和成绩.
9、列出所有没有选修课程‘01’的学生清单.
10、查询选修了所有课程的学生人数。