数据库实验
实验一
1 创建学生管理数据库(XSGL)
实验二
1 STUDENT表中增加一个字段入学时间scome,
2 删除STUDENT表中sdept字段;
3 删除创建的SC表中cno字段和COURSE表cno字段之间的外键约束
4 重建3中删除的约束
5、重新定义一个简单表,然后用SQL语言DROP语句删除该表结构;
6、用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序唯一索引;
7、用SQL语言DROP语句删除索引;
实验三
1 查询全体学生的学号和姓名
(2) 查询全体学生的详细记录
(3) 查询软件学院的学生姓名、年龄、系别
(4) 查询所有选修过课程的学生学号(不重复)
(5) 查询考试不及格的学生学号(不重复)
(6) 查询不是软件学院、计算机系的学生性别、年龄、系别
(7) 查询年龄18-20岁的学生学号、姓名、系别、年龄;
(8) 查询姓刘的学生情况
(9) 查询姓刘或姓李的学生情况
(10) 查询姓刘且名字为两个字的学生情况
(11)查询1983年以后出生的学生姓名。
(12)创建表 studentgrad(sno,mathgrade,englishigrade,chinesegrade)
计算学生各科总成绩并赋予别名
(14) 利用字符转换函数实现字符联接。
Select sname + ‘年龄为’+cast(sage as char(2))+’岁’
From student
(15) 查询全体学生情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。
(16) 查询学生总人数。
(17) 查询选修了课程的学生人数。
(18) 查询选修了7号课程的学生总人数和平均成绩
(19) 查询选修6号课程学生的最好成绩
(22) 查找没有先修课的课程情况
实验四
(1) 查询每个学生及其选课情况;
(2) 查询每门课的间接先修课
(3) 将STUDENT,SC进行右连接
(4) 查询既选修了2号课程又选修了3号课程的学生姓名、学号;
(5) 查询和刘晨同一年龄的学生
(6) 选修了课程名为“数据库”的学生姓名和年龄
(7) 查询其他系比IS系任一学生年龄小的学生名单
(8) 查询选修了全部课程的学生姓名
(9) 查询计算机系学生及其性别是男的学生
(10) 查询选修课程1的学生集合和选修2号课程学生集合的差集
(11) 查询李丽同学不学的课程的课程号
(12) 查询选修了3号课程的学生平均年龄
(13) 求每门课程学生的平均成绩
(14) 统计每门课程的学生选修人数(超过3人的才统计)。要求输出课程号和选修人数,结果按人数降序排列,若人数相同,按课程号升序排列
(15) 查询学号比刘晨大,而年龄比他小的学生姓名。
(16) 求年龄大于所有女同学年龄的男同学姓名和年龄
实验五
(1) 插入如下学生记录(学号:95030,姓名:李莉,年龄:18)
(2) 插入如下选课记录(95030,1)
(3) 计算机系学生年龄改成20
(4) 把数学系所有学生成绩改成0
(5) 把低于总平均成绩的女同学成绩提高5分
(6) 删除95030学生信息
(7) 删除SC表中无成绩的记录
(8) 删除张娜的选课记录
(9) 删除不及格的学生选课记录
(10) 删除数学系所有学生选课记录
(11) 删除所有未被选修的课程
(12) 查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,把值送往另一个已经存在的基本表STU(SNO,SNAME,SSEX)中
(13) 建立一个sdeptgrade 表,包含(sdept,avggrade)字段,对每一个系,求学生的成绩,并把结果存入sdeptgrade
实验六
1、建立一个数据库和五张表的表结构。
2、根据表结构使用SQL语句添加相应约束;
3、录入数据并实现实现如下查询
(1)查找定单金额高于20000的客户编号;
(2)选取销售数量最多的前5条订单订单号、数量;
(3)显示sale_item表中每种个别产品的订购金额总和,并且依据销售金额由大到小排
来显示出每一种产品的排行榜;
(5)计算每一产品每月的销售金额总和,并将结果按销售(月份,产品编号)排序;
(6)检索单价高于2400元的的产品编号、产品名称、数量、单价及所在订单号;
(7)计算每一产品销售数量总和与平均销售单价;
(8)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。