实验一

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)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。