好文档 - 专业文书写作范文服务资料分享网站

[VIP专享]数据库总复习题+答案

天下 分享 时间: 加入收藏 我要投稿 点赞

4)统计选修“大学英语”的学生人数

Select count(*);From 选课,课程;

Where 选课.课程号=课程.课程号 and 课程.课程名=”大学英语”5)查询学生的学号、姓名、选修的所有课程名、成绩,并按学号升序排序 Select 学生.学号,学生.姓名,课程.课程号,选课.成绩; From 学生,课程,选课;

Where 学生.学号=选课.学号 and 选课.课程号=课程.课程号; Order by 学生.学号 asc

6)查询每门课程的课程号、课程名和平均成绩,结果按课程号降序排列。 Select 课程.课程号,课程.课程名,avg(选课.成绩); From 课程,选课;

Where 课程.课程号=选课.课程号; Order by 课程.课程号 desc2.现有关系数据库如下: 课程(课程号,名称,学分) 学习(学号,课程号,分数)

请用关系代数表达式实现下列1—4小题,用SQL语言实现下列小题。

1)检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数; 关系代数表达式

Π学号,姓名,课程名,分数(σ奖学金>0∧专业=国际贸易(学生∞学习∞课程))SQL语言

Select 学生.学号,学生.姓名, 课程.名称, 学习.分数;From 学生,课程,学习;

Where 学生.学号=学习.学号 and 课程.课程号=学习.课程号 and 奖学金=.t. and

学生.专业=“国际贸易“

2)检索学生成绩得过满分(100分)的课程的课程号、名称和学分;关系代数表达式

Π课程号,名称,学分(σ分数=100(学习∞课程))SQL语言

Select 课程.课程号,课程.名称,课程.学分;

学生(学号,姓名,性别,专业、奖学金)

From 课程,学习;

Where 课程.课程号=学习.课程号 and 学习.分数=100; Group by 课程.课程号

2)检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学

号、姓名和专业; 关系代数表达式

Π学号,姓名,专业(σ奖学金<=0∧分数>95(学生∞学习)) SQL语言

SELECT 学生.学号,姓名,专业;  FROM 学生,学习;

  WHERE 学生.学号=学习.学号 AND 学习.课程号=课程.课程号 AND 奖学金<=0 AND

分数>95

4)检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业;

关系代数表达式

Π学号,姓名,专业(学生)—Π学号,姓名,专业(σ分数<80(学生∞学习))SQL语言

SELECT 学号,姓名,专业;  FROM 学生;  WHERE 学号 NOT IN;

  (SELECT 学号FROM 学习WHERE 分数<80)

5)检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;同3

6)检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业;同4

7)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元;

UPDATE 学生;  SET 奖学金=1000;

  WHERE 奖学金<=0 AND 学号 IN;

  (SELECT 学号FROM 学习WHERE 分数=100)

8)定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分;

CREATE VIEW AAA(课程号,名称,学分 )AS SELECT 课程号,名称,学分;  FORM 课程;

WHERE 课程号 IN;

(SELECT 课程号FROM 学习WHERE 分数=100)

六、程序设计

1.编写程序,其功能是统计学生表中入校总分介于450到500分之间(包括450和500)的学生人数。

Use 学生

N=0

Do while .not.eof()

If 入校总分>=450 and入校总分<=500

N=N+1EndifSkipEnddo? nuse

2.编写程序,其功能是:请用户输入待查询学生的学号,若找到则显示该学生的学号、姓名、性别、籍贯等信息,否则显示“没有此人!”。

Use 学生

Accept “请输入学号:” to numLoca for xh=numIf found()

? 学号,姓名,性别,籍贯else

? “没有此人!” Endif Use

3.编写程序,其功能是修改选课表中的成绩:低于60分的成绩均加10分,高于60分(包括60)的成绩均加5分。

Use 选课

Do while .not.eof() If 成绩<60

Repl 成绩 with 成绩+10 Else

Repl 成绩 with 成绩+5 Endif Skip Enddo Use

4. 编一程序,在表xscj.dbf(表结构为:姓名C、数学N、语文N、外语N、总分N、平均分N、等级C)中,划分并填写等级:平均分在90分以上(含90分)为优秀,

80分以

上(含80分)为良好,70分以上(含70分)为中等,60分以上(含60分)为及格,否则为不及格。Use xscj

Do while .not. eof()

repl 总分 with 数学+语文+外语,平均分 with (数学+语文+外语)/3

Do case

Case 平均分>=90 and平均分<=100

Replace 等级 with “优秀“Case 平均分>=80 and平均分<=89

Replace 等级 with “良好“Case 平均分>=70 and平均分<=79

Replace 等级 with “中等“Case 平均分>=60 and平均分<=69

Replace 等级 with “及格“

Otherwise

Replace 等级 with “不及格“

EndcaseSkip

Use

Enddo

[VIP专享]数据库总复习题+答案

4)统计选修“大学英语”的学生人数Selectcount(*);From选课,课程;Where选课.课程号=课程.课程号and课程.课程名=”大学英语”5)查询学生的学号、姓名、选修的所有课程名、成绩,并按学号升序排序Select学生.学号,学生.姓名,课程.课程号,选课.成绩;From学生,课程,选课;
推荐度:
点击下载文档文档为doc格式
1js606t76h371qz5d0ci05ej21u0yu00k3w
领取福利

微信扫码领取福利

微信扫码分享