SQL复习题
LT
数据查询
一、目的与要求
1.掌握SELECT语句的基本语法。
2.掌握子查询的表示。
3.掌握连接查询的表示。
4.掌握SELECT语句的统计函数的作用和使用方法。
5.掌握SELECT语句的GROUPBY和ORDERBY子句的作用和使用方法。
二、实验准备
1.了解SELECT语句的基本语法格式。
2.了解SELECT语句的执行方法。
3.了解子查询的表示方法。
4.了解SELECT语句的统计函数的作用。
5.了解SELECT语句的GROUP BY和ORDER BY子句的作用。
三、实验步骤
1.,打开后,在SQL查询分析器中执行,生成STUDENT、 COURSE、 SC 三张表。将所有运行通过的SQL语句保存在文档中。
请认真观察每张表的表名、属性及表之间的联系
(1)分别查询STUDENT、 COURSE、 SC的基本信息。
(2)查询全体学生的姓名、学号、所在系、家庭地址。
(3)查询全体学生的姓名、出生年份和所在系、班级,要求用小写字母表示所在系名,并用别名表达列标题。
(4)查询那些学生选修了课程。
(5)查询所有年龄在20岁以上的学生姓名、班级及其年龄。
(6)查询年龄在17~19岁(包括17岁和19岁)之间的学生的姓名、系别、班级和年龄。
(7)查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。
(8)查询所有姓张学生的姓名、学号和性别。
(9)查询姓"欧阳"且全名为四个汉字的学生的姓名。
(10)查询所有家庭地址中包含‘成都’的同学的基本信息
2. 单表查询
(1) 查询信息系(IS)、数学系(MA)和计算机科学系(CS)中女学生的姓名和性别
(分别用in and 和 and or 两种方式查询)
(6)求学号为“95001”的学生的总分和平均分。
(7)查询“1”号课程的最高分、最低分及之间相差的分数。
(8)求“计算机”系学生的人数。
(9)查询每门课的选课人数及平均成绩。
(10)查询有两门课以上不及格的学生学号及不及格的课程门数。
(11) 统计每门选修课程不及格的人数,列出课程编号和不及格的人数。
(12) 统计每个同学所修的学分总数
(13)查询每个系的学生人数、并按人数的降序排列。
(15)查询每门课的平均分、最高分、最低分。
(17)分课程统计成绩在85分以上的学生的人数,列出课程编号、课程名称和学生人数
(18)列出平均成绩在85分以上的学生的学号和姓名
(20)列出选修人数小于5的课程的编号和实际选修人数
(21)列出“信息”系每个学生不及格的课程门数
嵌套查询(子查询)
查询选修了一号课程的同学姓名
(2)查找家庭住址包含“成都”的学生选修的课程的名称。
(3)查询选修了数据库这门课的同学的学号、姓名
(4)查询选修了‘1’号课程,并且成绩在该课程平均分以下的学生的学号、姓名、成绩
(5)查询选修了“数据库系统”这门课且成绩在85分以上的所有学生的学号、姓名。
(7)列出选修的课程学分都大于3的学生的学号、姓名
(8)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄
(9)查询同时选修了一号课程和选修了二号课程的同学姓名。
(10)列出“2”号课程得分最高的学生的学号,姓名,成绩
1. 列出没有任何一门课成绩不及格的学生的学号、姓名
2. 查询李丽同学不学的课程的课程号
3. 求年龄最大的学生姓名
4. 求年龄最小的学生姓名
5. 求得分最低的学生的姓名、课程名及成绩
6. 求未选修3号课程的同学学号。
求平均成绩最高的学生的姓名及平均分
8. 列出既有成绩不及格又有成绩在85分以上的学生的学号,姓名
更新
将本人信息插入STUDENT表中
插入一条课程信息:(课程编号“16”,课程名“面向对象程序设计”,先行课号 7,学分4,)
向SC表中插入一条选课记录(’95010’,’16’,85)
删除‘95009’同学选课的记录
删除“数学”系所有学生的选课信息
将“2”课程的成绩增加5分
将学生选修的学分大于4的课程的成绩增加5分
将“1”号课程中成绩大于82分的同学分数提高3分。
把所有选修了1号课程的同学的成绩增加5分。
将选修了‘数据库’这门课的同学的该课程分数提高5分。
SELECT * FROM Student;
SELECT Sname,Sno,Sde
SQL复习题 来自淘豆网m.daumloan.com转载请标明出处.