实验二 SQL语言的基本操作(1)

  • 格式:doc
  • 大小:49.50 KB
  • 文档页数:2

实验二 SQL语言的基本操作

实验目的和要求:

掌握利用SQL语句完成各种查询操作的能力。重点掌握用SELECT语句进行各种查询; 掌握INSERT语句的用法。

实验内容:

在studentdb数据库中利用查询分析器创建以下3个表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性):

student(学生信息表):

主码 列名 数据类型 宽度 小数位 空否 取值范围 备 注

Pk sno char 5 N 学号

sname char 10 N 姓名

ssex char 2 Y 性别

sage smallint Y 不小于12 年龄

sdept char 15 Y 系名

course(课程表):

主码 列名 数据类型 宽度 小数位 空否 备 注

Pk cno Char 2 N 课程号

cname Char 20 Y 课程名称

cpno Char 2 Y 先行课号

ccredit smallint Y 学分

sc(学生选课表):

主码 列名 数据类型 宽度 小数 空否 外码 参照关系 取值范围 备 注

Pk sno Char 5 N Fk student 学号

cno Char 2 N Fk course 课程号

grade Decimal 5 1 Y 0≤x≤100 成绩

用SQL语句完成一下的要求:

1.查询信息系(IS)的所有学生信息

2.查询选修了“数学”课的所有学生名单

3.查询至少选修了一门其直接先行课为5号课程的学生的姓名。

4.查询全体学生的姓名和出生年份。 5.查询所有姓王的学生。

6.查询选修了3号课程的学生姓名及成绩,并按成绩降序排序。

7.查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。

8.计算2号课程的平均成绩。

9.查询选修了2号课程的学生的最高成绩。

10.求各个课程号及相应的选课人数。

11.查询至少选修了3门课程以上的学生学号。

12.查询“数据库”的间接先行课。

13.查询平均成绩最高的学生的学号和姓名。

14.查询数学成绩最高的学生的学号和姓名。

15.查询出成绩最低学号最大的学生学号。

16.查询成绩高于学生平均成绩的记录。

17.查询至少选修了1号课程和3号课程的学生学号。

18.查询只选修了1号课程和3号课程的学生学号。

19.查询没有选修1号课程的学生姓名。

20.查询选修了全部课程的学生姓名。

21.查询至少选修了95002所选修的全部课程的学生学号。

22.查询没有不及格课程的学生的学号和姓名。

23.查询没有不及格学生的课程的课程号和课程名。

24.建立信息系学生视图,并从视图中查询年龄最大的学生记录。