一道sql应用的题目,希望高手给我答案参考一下~非常感谢!!

学生选课系统,主要表有:学生基本信息表(学号、姓名、性别、专业、出生年月等),选课表(学号、课程号、分数),课程表(课程号、课程名、所属专业、学分)要求:1、用e-r图表... 学生选课系统,主要表有:学生基本信息表(学号、姓名、性别、专业、出生年月等),选课表(学号、课程号、分数),课程表(课程号、课程名、所属专业、学分)要求:
1、用e-r图表示上述关系的概念模型。(5分)
3、写出sql语句。
1) 查询所有选sql课程的学生学号,姓名和专业。(5分)
2) 删除所有选择数学的同学的选课记录。(5分)
3) 查询有哪些课程没有被任何同学报选。(5分)
4、创建存储过程。(10分)
1)、能够查询出选修任何课程的学生信息及相应的分数。
2)、以表格的形式返回本课程的平均分数。
展开
 我来答
telloo
2009-06-28 · 超过16用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:51.4万
展开全部
-- 课程表,(名字起的有点烂)
create table CLASS
(
ID INTEGER,
NAME VARCHAR2(50)
)
insert into class (ID, NAME)
values (1, '语文');

insert into class (ID, NAME)
values (2, '数学');

insert into class (ID, NAME)
values (3, '英语');

insert into class (ID, NAME)
values (4, '物理');

--学生表
create table STUDENT
(
ID INTEGER,
NAME VARCHAR2(8)
)
insert into student (ID, NAME)
values (1, 'a');

insert into student (ID, NAME)
values (2, 'b');

insert into student (ID, NAME)
values (3, 'c');

insert into student (ID, NAME)
values (4, 'd');

insert into student (ID, NAME)
values (5, 'e');

--中间表
create table STU_CLASS
(
SID INTEGER,
CID INTEGER,
SCORE INTEGER
)
insert into stu_class (SID, CID, SCORE)
values (1, 1, 58);

insert into stu_class (SID, CID, SCORE)
values (1, 2, 58);

insert into stu_class (SID, CID, SCORE)
values (2, 1, 58);

insert into stu_class (SID, CID, SCORE)
values (2, 2, 58);

insert into stu_class (SID, CID, SCORE)
values (3, 1, 79);

insert into stu_class (SID, CID, SCORE)
values (3, 2, 79);

insert into stu_class (SID, CID, SCORE)
values (4, 2, 79);

insert into stu_class (SID, CID, SCORE)
values (5, 1, 23);

insert into stu_class (SID, CID, SCORE)
values (5, 3, 24);
以上是我所创建的三张表
下面是SQL,至于存储过程,没有创建也只是用SQL写了一下:

--查询所有选“数学”课程的学生学号,姓名和专业
select s.id, s.name
from student s, stu_class sc
where s.id = sc.sid and sc.cid = 2;
--删除所有选择数学的同学的选课记录
delete from stu_class sc
where sc.sid in (select sid from stu_class where cid = 2)
--查询有哪些课程没有被任何同学报选
select c.name
from class c
where c.id not in(select distinct(cid) from stu_class);
--能够查询出选修任何课程的学生信息及相应的分数
select s.*, sc.score from student s, stu_class sc where s.id = sc.sid and sc.cid = 3;
--以表格的形式返回本课程的平均分数
select avg(score) from stu_class where cid = 2;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式