已知关系模式:学生(学号.姓名.性别.年龄.系别)选课(学号

2020-11-28 05:26:35 字数 4179 阅读 7980

1楼:百度用户

select 学号,姓名

from 课程,选课,学生

where 课名='数据库'

2楼:匿名用户

select 学号,姓名

from 课程,选课,学生

where 学生。学号 = 选课。学号 and 选课。课号 = 课程。课号;

已知关系模式:学生(学号.姓名.性别.年龄.系别)选课(学号.课程号.成绩)用关系代数实现查询没有选修课程号为

3楼:终雯

用sql语言实现下列功能的sql语句**:

1、创建[学生表]**:

学生表(学号 char(6),姓名,性别,年龄,专业)

要求使用:主键(学号)、非空(姓名,专业)、检查(性别)

create table 学生表

(学号 char(6) primary key,

姓名 char(10) not null,

性别 char(2) not null check (性别 in ('男','女')),

年龄 int,

专业 char(20) not null

)2、创建[选课表]**:

选课表(id,学号,课号,分数)

要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(id)

create table 选课表

(id int identity(1,1) not null,

学号 char(6) not null foreign key references 学生表(学号),

课号 char(10) not null foreign key references 课程表(课程号),

分数 int check (分数 between(0,100))

)3、将下列课程信息添加到课程表的**

课程号 课程名 学分 先行课程号

100002 数据结构 2 100001

修改 课程号为100003的课程名:sql数据库

删除 课程号为100002的课程信息

insert into 课程表 (课程号,课程名,学分,先行课程号)values ('100002','数据结构',2,'100001')

update 课程表 set 课程名 = 'sql数据库' where 课程号 = '100003'

delete from 课程表 where 课程号 = '100002'

4、写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的**

create view uv_选课表_onshow

asselect a.学号,a.姓名,c.课程号,c.课程名,c.学分,b.分数

from 学生表 as a inner join 选课表 as b on a.学号 = b.学号

inner join 课程表 as c on b.课号 = c.课程号

现有关系数据库如下:

学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用sql实现:

(5)查询没有任何一门成绩在80分以下的所有学生的信息,包括学号、姓名和专业

select 学生.学号,学生.姓名,学生.专业

from 学生,学习

where 学生.学号 = 学习.学号

group by 学生.学号,学生.姓名,学生.专业

having min(分数) > 80

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

不知道没有获得奖学金的情况下,奖学金是多少,现假设是0

update 学生 set 奖学金 = 1000 where 学号 in (select 学生.学号

from 学生,学习

where 学生.学号 = 学习.学号

group by 学生.学号

having max(分数) = 100) and 奖学金 = 0

对于学生选课关系,关系模式为: 学生(学号,姓名,年龄,所在系) 课程(课程名,课程号,先行课) 50

4楼:花自無芯碎自憐

用关系代数完成查询,问一下,你要查询神马??

关系代数

5楼:匿名用户

啊雅同学,这个作业要自己做哦。关系很简单的,只有选择,投影,连接,并和差等操作,看一下书,半小时你就学会了。加油!

6楼:匿名用户

π学号,姓名(π学号(σ课程号='c2'(选课))学生)

7楼:

∏sno(σ**o=’c2’(sc))∞∏sno,sname( student)

已知三张表结构如下: 学生(学号,姓名,年龄,性别) 选修(学号,课程号,成绩) 课程(课程号,课程名

8楼:匿名用户

1.π学号(δ课程号=k1,课程号=k5(选修))

2.π学号,姓名(δ年龄>23(δ性别='男'(学生))

3.create table 学生(学号 char(6)primary key,姓名 char(6)not null,年龄 int,性别 char(2))

4.select 学号,姓名 from 学生 where 学号 in(select 学号 from 选修 where 课程号 in(select 课程号 from 课程表 where 课程名='c语言')

5.select * from 学生 a,选修 b,课程 c where a.姓名 like ’张%' and a.学号=b.学号 and b.课程号=c.课程号

6. select avg( 成绩) from 选修 where 课程号=(select 课程号 from 课程 where 课程名='数据库系统')

7.update 课程 set 教师名='宋楠' where 课程号='008'

8.delete from 选修 where 课程号 in(select 课程号 from 课程 where 课程名='数据结构')

delete from 课程 where 课程名='数据结构'

请求互连联网数据库高手的帮忙!!给出正确答案!急用!谢谢

9楼:匿名用户

老兄 自己的事情自己做。我相信没人会给你回答考试题或者作业的。。

10楼:燕慕秘宜欣

a,c,b,c,a,a,d,d,?,d,?,a,b,b,?

用sql或关系代数表达此题!高悬赏!!

11楼:gta小鸡

1)select选课.学号学号,姓名,成绩

from学生rightjoin选课on学生.学号=选课.学号

where成绩》=80and课程号=(select课程号from课程

where课程名='数据库原理')

2)selectcount(所在系='计算机系')人数from学生

3)select学号,姓名from学生

where学号in(selectdistinct学号

from选课leftjoin课程on选课.课程号=课程.课程号

where课程名='数据库原理')and学号notin(selectdistinct学号

from选课leftjoin课程on选课.课程号=课程.课程号

where课程名='数据结构')

有关系模式,三个表,学生,课程,选修,反映的是学生和课程之间的多对多关系,请用sql语句回答。 40

12楼:

select * from 学生表 where studentid in (select studentid from 关系表 group by studentid having count(*)>5)

子查询:select studentid from 关系表 group by studentid having count(*)>5 找出符合的id

13楼:匿名用户

自己写把,最简单的增删改查。练练就好了