sql2005数据库查询语句

student(s,sname,sage,ssex)学生表(学号,姓名,年龄,性别)course(c,cname,t)课程表(课程号,课程名称,老师编号)sc(s,c,s... student(s,sname,sage,ssex)学生表(学号,姓名,年龄,性别)
course(c,cname,t)课程表(课程号,课程名称,老师编号)
sc(s,c,score)成绩表(学号,课程号,分数)
teacher(t,tname)教师表(老师编号,老师姓名)

问题
1、查询001课程比002课程成绩高的所有学生的学号
2、查询平均成绩大于60分的同学的学号和平均成绩
3、查询所有同学的学号、姓名、选棵树、总成绩
4、查询没学过叶平老师课的同学的学号、姓名
5、查询学过00课程也学过002课程的同学的学号和姓名
6、查询所有成绩小于60分的同学的学号和姓名
7、查询没有学全所有课的同学的学号和姓名
8、查询至少有一门课与学号1001的同学所学相同的同学的学号和姓名
9、查询至少学过学号为001同学所有一门课的其他同学学号和姓名
10、查询和1002的同学学习的课程完全相同的其他同学的学号和姓名

全部答到的会另外送上20分
展开
 我来答
琪总1996
2012-03-19
知道答主
回答量:1
采纳率:0%
帮助的人:2.8万
展开全部
Student 学生表

Course 课程表

SC 成绩表

Teacher 教师表

问题:

1、查询“001”课程比“002”课程成绩高的所有学生的学号;

selecta.S# froma, b

where a.scoreb.score and a.s#=b.s#;

2、查询平均成绩大于60分的同学的学号和平均成绩;

selectS#,avg

from sc

group by S# having avg 60;

3、查询所有同学的学号、姓名、选课数、总成绩;

selectStudent.S#,Student.Sname,count,sum

from Student left Outer join SC on Student.S#=SC.S#

group by Student.S#,Sname

4、查询姓“李”的老师的个数;

selectcount)

from Teacher

where Tname like ‘李%‘;

5、查询没学过“叶平”老师课的同学的学号、姓名;

selectStudent.S#,Student.Sname

from Student

where S# not infrom SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname=‘叶平‘);

6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;

selectStudent.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#=‘001‘and exists;

7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;

selectS#,Sname

from Student

where S# in = from Course,Teacher where Teacher.T#=Course.T# and Tname=‘叶平‘));

8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;

selectS#,Sname fromscore2

from Student,SC where Student.S#=SC.S# and C#=‘001‘) S_2 where score2 score;

9、查询所有课程成绩小于60分的同学的学号、姓名;

selectS#,Sname

from Student

where S# not in ;

10、查询没有学全所有课的同学的学号、姓名;

selectStudent.S#,Student.Sname

from Student,SC

where Student.S#=SC.S# group by Student.S#,Student.Sname having count from Course);
百度网友43058e9fa
2010-04-01 · 超过18用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:74.9万
展开全部
1、
select s
from course A
left join SC B on B.s=A.s
left join student C on C.c=B.c and C.c='002'
left join student D on D.c=C.c and D.c='001'
where D.score>C.score

2、
select
B.s,avg(B.c)
from SC B
group by B.s

3、
select
A.s,A.sname,sum(B.c),avg(B.score)
from student A
left join sc B on B.s=A.s
group by A.s,A.sname
后面还有
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fz272103148
2010-04-02 · TA获得超过523个赞
知道小有建树答主
回答量:966
采纳率:75%
帮助的人:318万
展开全部
北大青鸟二期练习题???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yaji166
2010-04-01 · TA获得超过157个赞
知道小有建树答主
回答量:511
采纳率:0%
帮助的人:307万
展开全部
晕 北大青鸟一期的课后题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式