设有student数据库,包括s、sc、c三个关系模式:
s(sno,sname,sex,age);
sno学生学号, sname学生姓名, age 学生年龄 sex 学生性别(用字母f代表女,用字母m代表男)
sc(sno,cno,grade);
sno 学生学号,cno 课程号, grade 成绩。
c(cno,cname,teacher);
cno课程号,cname 课程名,teacher 任课教师姓名。
1请使用关系代数、sql实现下列操作:
1) 查询ma hong老师所授课程的课程号和课程名。
2) 查询至少选修li xi老师所授课程中一门课程的女生姓名。
3) 查询wang gang同学不学的课程的课程号。
4) 查询选修课程包含li xi老师所授全部课程的学生学号。
2请使用sql语言表达下列操作:
1) 统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
2) 检索姓名以m打头的所有学生的姓名和年龄。
3) 求年龄大于所有女同学年龄的男学生姓名和年龄。
4) 把低于所有课程总平均成绩的男同学成绩提高3%。
5) 从sc关系中删除c2的记录,并从c关系中删除相应的记录。
6) 将学生的学号和他的平均成绩定义一个视图。
1.①πcno,cname(σteacher=’ma hong’(c))
πsname(σsex=’f’∧teacher=’li xi’(sscc))
πcno(c)-πcno(σsanme=’wang gang’(ssc))
πsno,cno(sc)÷πcno(σteacher=’li xi’(c))
select cno,cname from c where teacher=’ma hong’
select sname from s,sc,c where and and sex=’f’and teacher=’li xi’
select cno from c where not exists
(select * from sc,s
where and and
sname=’wang gong)’
select sno from s where not exists
select * from c where teacher=’li xi’and not exists
select * from sc where cno= and sno=
2(1)select cno,count(sno) from sc
group by cno
h**ing count(*)10
order by 2 desc,1
2)select sname,age from s
where sname like ’m%’
3)select sname,age from s
where sex=’m’
and age > all(select age form s
where sex=’f’)
4)update sc set grade=grade*1.03
where sno in(select sno from s where sex=’m’)
and grade<(select **g(grade) from sc)
5)delete from sc where cno=’c2’
delete from c where cno=’c2’
关系代数SQL作业
现有关系数据库如下 product maker,model,type 表示产品的制造商,型号,类别。其中类别为pc,laptop,printer pc model,speed,ram,hd,rd,price 表示个人电脑的型号,速度,内存,硬盘,光驱,laptop model,speed,ram,h...
sql查询举例 含答案
查询练习。一 简单查询 无条件查询 1 查询 学生档案 表中所有的记录。select form 学生档案。2 查询 学生档案 表中全体学生的姓名 学号 家庭地址。select 姓名,学号,家庭地址 from 学生档案。二 有条件查询。1 查询 成绩管理 表中语文成绩在80分以下的学生的学号。sele...
实验5SQL查询答案
1.查询zgda表中所有职工的信息。sele from zgda 2.查询zgda表中所有职工的职称字段值。sele职称 from zgda 3.查询zgda表中所有职工的职称种类,即去掉重复的职称信息。sele dist 职称 from zgda 4.查询zgda表中所有职工的姓名 性别 年龄 职...