数据库SQL综合分析题

前言:只有答案没有分析,大家可以去网上找找怎么分析执行过程。 

1. (简答题, 40分)

假设学生-课程数据库关系模式如下所示:

Student(S#,Sname,Sage,Ssex)表示学生关系,属性为学号、姓名、年龄、性别;

Course(C#,Cname,Ccredit)表示课程关系,属性为课程号、课程名,学分;

SC(S#,C#,Score)表示选修关系,属性为学号、课程号、考试成绩;

各表中数据见下面表格所示,请说明:

(1)下面SQL语句的功能。

(2)执行过程。

(3)查询结果。

本题满分40分,其中SQL语句功能10分;语句的执行过程20分,请从SQL语句各子句的执行次序角度分析该语句的执行过程;查询结果10分,可用表格形式给出。

SELECT  Student.S#,Sname,Sage,SUM(Ccredit) SumCredit

FROM Student,SC,Course

WHERE Student.S#=SC.S# AND Course.C#=SC.C# AND Ssex='女' AND Score>=60

GROUP BY Student.S#,Sname,Sage Having Count(*)>2

ORDER BY SumCredit DESC,Sname ASC;

create table Student(
S# char(5) primary key,
Sname char(20),
Sage number,
Ssex char(2)
);
create table Course(
C# char(5)primary key,
Cname char(20),
Ccredit char(5)
);
create table SC(
S# char(5),
C# char(5),
Score number,
primary key(S#,C#),
foreign key(S#) references Student(S#),
foreign key(C#) references Course(C#)
);
insert into Student values('101','李红梅',20,'女');
insert into Student values('102','李琳琳',19,'女');
insert into Student values('103','张强',20,'男');
insert into Student values('104','谭莉',21,'女');
insert into Student values('105','赵茂盛',18,'男');
insert into Student values('106','李晓光',19,'男');
insert into Student values('107','何虹',20,'女');
insert into Student values('108','王美丽',21,'女');
insert into Student values('109','吴嫦娥',29,'女');
insert into COURSE values('1','高级语言程序设计','3');
insert into COURSE values('2','大学英语1','3');
insert into COURSE values('3','数据结构','3.5');
insert into COURSE values('4','操作系统原理','3');
insert into COURSE values('5','Python程序设计','2');
insert into COURSE values('6','高等数学','4.5');
insert into SC values ('101','1',80);
insert into SC values ('101','2',75);
insert into SC values ('101','3',90);
insert into SC values ('101','4',87);
insert into SC values ('102','1',85);
insert into SC values ('102','3',75);
insert into SC values ('102','6',90);
insert into SC values ('103','1',70);
insert into SC values ('103','2',65);
insert into SC values ('103','3',85);
insert into SC values ('104','2',75);
insert into SC values ('104','3',88);
insert into SC values ('104','4',77);
insert into SC values ('105','1',90);
insert into SC values ('105','2',87);
insert into SC values ('106','1',72);
insert into SC values ('107','2',76);
insert into SC values ('108','1',75);
insert into SC values ('108','2',55);
insert into SC values ('108','3',70);
insert into SC values ('109','1',75);
insert into SC values ('109','3',75);
insert into SC values ('109','5',75);

SELECT  Student.S#,Sname,Sage,SUM(Ccredit) SumCredit

FROM Student,SC,Course

WHERE Student.S#=SC.S# AND Course.C#=SC.C# AND Ssex='女' AND Score>=60

GROUP BY Student.S#,Sname,Sage Having Count(*)>2

ORDER BY SumCredit DESC,Sname ASC;

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李小于

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值