SQL 练习题

1.创建一个数据库,数据库名字 edu,数据文件逻辑名字 edu_data,初始大小 10M,最大
为 1024M,增长比例为每次 1M;日志文件逻辑名字为 edu_log,初始大小 5M,最
大为 100M,按 10%比例增长,这些文件都存储到 E 盘根目录下,并且物理文件
名与逻辑文件名全部相同。

2.在 edu 数据库里创建一个架构,架构名字为自己名字的汉语拼音。

3.在创建的架构中,创建如下表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.建立、删除索引
(1)在 student 表的 sname 列建立唯一降序索引;
(2)在 course 表的 credit 列上建立升序索引;
(3)在 student_course 表的 sno 列上建立聚集索引。
(4)在 student_course 表上,以学号升序,学号相同按课程号降序建立索引;
(5)在 teacher 表的 tno 列上建立聚集升序索引。
(6)将 student_course 表的 sno 列上的聚集索引删掉。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200812210703890.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JsYWNrQmFieV9haGE=,size_16,color_FFFFFF,t_70#pic_center
在这里插入图片描述
在这里插入图片描述
6.查询

1)查询全体学生的学号、姓名、籍贯
2)查询所有课程的名称及学分
3)查询教师的姓名、性别、联系电话
4)查询每门课程的课程编号、课程名称及理论学时
5)查询全体学生的姓名、联系电话,并在前面加上字符串‘联系方式’
6)查询全体教师的人数
7)查询全体教师的姓名、家庭住址、邮政编码(使用列别名)
8)查询全体学生的姓名
9)查询本学期有课的教师编号
10)查询所有选课的学生学号
11)查询籍贯为河北保定的学生的学号和姓名
12)查询课程学分小于 3 分的课程名称
13)查询在 c201 教室上课的教师编号
14)查询软件学院的办公电话
15)查询学生成绩在 60-90 分的学生的学号和课程号
16)查询学分为 3 分的课程信息
17)查询在教学楼 C 座上课的教师的编号
18)查询有先行课的课程编号及课程名
19)查询籍贯为山东省的学生基本信息
20)查询姓名为 3 个字,前两个字为‘上官’的学生学号和姓名
21)查询专业号为 3 的女学生的姓名、生日和家庭住址
22)查询学号为‘20101001’的学生选修的课程号及成绩,结果按成绩升序排

23)查询所有课程的基本信息,结果按授课学时降序排列,学时相同按学分升
序排列
24)查询所有男教师的姓名和出生日期,结果年龄从小到大排序
25)查询选修 2 号课程学生成绩的最大值和最小值

26)查询所有教师的人数
27)查询所有专业号为 1 的学生人数
28)查询选课人数超过 5 人的课程编号
29)查询所有学生的基本信息以及所在学院的名称和学院联系电话
30)查询教师李亮的上课时间、上课地点和每周学时数
31)查询选修了数据库系统概论或数据结构的学生的学号和姓名

32-67 要求至少使用两种方式查询(对复杂查询,可以建立视图)
32)查询至多有两名男生的班级
33)查询至少有一名教授的学院的信息
34).查询出每个老师及其教课情况
35).查询每门课程及其被选修的人数
36).查询籍贯是河北省的教师所教的课程信息
37).查询软件学院学生情况
38).查询班级人数最多的班的学生情况
39).查询张姓学生选修的课程号、课程名
40).查询男学生选修课程的平均分
41).查询哪些学生选修了授课学时为 54 的课程
42).查询比软件学院学生年龄都小的其他系学生的信息。
43).查询比数信学院学院学生年龄大的教育学院学生信息。
44).查询班级号为 1 的班的学生 c 语言程序设计成绩的平均成绩
45).查询计算机导论平均成绩最高的班级。
46).查询选修人数最多的课程是哪个老师教的,显示教师号,教师姓名
47).查询余孝天老师所教各门课程的平均成绩
48).查询鲁婵娟老师所教课程的各个班级平均成绩
49).查询鲁婵娟老师所教课程的学生的成绩
50).查询有多少人选修了《数据结构》课程的先修课。
51).查询软件学院教师所教课程信息
52).查询软件学院教师所教课程的成绩,将结果按课程号降序排列。
53).查询未授课教师的姓名和系
54).按职称显示软件学院的教师人数。
55).查询成绩高于《数据结构》平均成绩的学生信息。
56).查询学生选修课程的情况,显示学号、姓名、教师姓名、课程名称、成绩。
57).查询法政学院教师第一学期所带班级

58).查询第 2 学期哪些教师在公教楼上课。
59).查询数信学院的学生各科平均成绩,显示课程名、平均成绩。
60).查询选修了全部课程的学生的信息。
61).查询至少选修了鲁婵娟所教的课程的学生信息
62).查询和张小兵同一个班级的其他学生的信息
63).查询和刘英伟同年出生的学生信息(参考 sql 日期操作函数)
64).查询选修了 3 门以上课程学生信息
65).查询至少有 2 名女生的班级的学生信息
66).查询软件学院年龄小于 25 岁的老师的信息
67).查询低于该门课程平均分的学生的成绩信息。

集合查询
68).年龄小于 23 岁的女老师和女学生的信息
69).查询不教课的老师信息。
70).查询班级号为 3,且性别为女的学生的信息

7.更新
(1)将年龄小于 18 岁的男同学的年龄都增大 1 岁。
(2)将王英老师的联系电话改为 83421236。
(3)将“数据结构”课程的上课地点改为“D403”。
(4)将“数据库原理”课程成绩在 70 分以下的加 5 分。
(5)将所有计算机系学生的“高等数学”课的成绩加 10 分。
(6)将所有数学系学生的联系电话删除。
(7)删除没有成绩的选课记录。
(8)删除学生中姓名有“强”的记录。
(9)删除数学系女同学的记录。
(10)将 2000 年 9 月 1 日以前入学的学生记录删除。
(11)删除计算机系所有教师的上课记录。
(12)将平均成绩最高的课程学分加 1。
(13)将实验时数为 36 的课程的成绩加上 10%。
(14)将所有没有上课的教师记录删除。

8.视图
(1)将女教师的基本情况定义为视图。

(2)将数学系班级号为 2008 的学生的学号、姓名、性别和专业号定义为视图。
(3)将各个学院的学生人数定义为视图,包括学院编号、人数。
(4)将平均成绩大于 90 分的课程定义为视图,包括课程号、课程名和平均成
绩。
(5)将各个教师所教课程的选课人数定义为视图,包括教师编号、选课人数。
(6)查询人数超过 500 人的学院名称。
(7)查询选修王强老师所教课程的人数。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值