用sql语言编写程序
用sql语言编写程序,获取学号为“20110201008”的同学的姓名和所有4们课程的成绩,输出该同学的学号,姓名,各门课成绩的名称,成绩,以及4们课的平均成绩。这是具体...
用sql语言编写程序,获取学号为“20110201008”的同学的姓名和所有4们课程的成绩,输出该同学的学号,姓名,各门课成绩的名称,成绩,以及4们课的平均成绩。这是具体的题目要求,我们自己有数据库了,就是不知道怎么用SQL语言查询。
展开
3个回答
2013-08-11
展开全部
====
SELECT *
FROM za
SELECT *
FROM zb
SELECT za.学号, za.姓名, zb.分数 AS Basic, zb_1.分数 AS C语言, zb_2.分数 AS 数据库, zb_3.分数 AS Java, (zb.分数 + zb_1.分数 + zb_2.分数 + zb_3.分数)
/ 4 AS 平均分
FROM za INNER JOIN
zb ON za.学号 = zb.学号 INNER JOIN
zb AS zb_1 ON za.学号 = zb_1.学号 INNER JOIN
zb AS zb_3 ON za.学号 = zb_3.学号 INNER JOIN
zb AS zb_2 ON za.学号 = zb_2.学号
WHERE (zb.课程 = 'BASIC') AND (zb_1.课程 = 'C语言') AND (zb_2.课程 = '数据库') AND (zb_3.课程 = 'JAVA')
====
==========
除分数是INT外 其他全是 NVCHAR
SELECT *
FROM za
SELECT *
FROM zb
SELECT za.学号, za.姓名, zb.分数 AS Basic, zb_1.分数 AS C语言, zb_2.分数 AS 数据库, zb_3.分数 AS Java, (zb.分数 + zb_1.分数 + zb_2.分数 + zb_3.分数)
/ 4 AS 平均分
FROM za INNER JOIN
zb ON za.学号 = zb.学号 INNER JOIN
zb AS zb_1 ON za.学号 = zb_1.学号 INNER JOIN
zb AS zb_3 ON za.学号 = zb_3.学号 INNER JOIN
zb AS zb_2 ON za.学号 = zb_2.学号
WHERE (zb.课程 = 'BASIC') AND (zb_1.课程 = 'C语言') AND (zb_2.课程 = '数据库') AND (zb_3.课程 = 'JAVA')
====
==========
除分数是INT外 其他全是 NVCHAR
2013-08-11
展开全部
select 学号,姓名,max(case when 课程='Basic' then 分数 end)as 'Basic',
max(case when 课程='C语言' then 分数 end)as'C语言',max(case when 课程='数据库' then 分数 end)as'数据库',max(case when 课程='JAVA' then 分数 end)as'JAVA',AVG(score)as ‘平均分’
from
(select a.学号,a.姓名,b.课程,b.分数
from table1 as a
inner join table2 as b
on a.学号=b.学号)as aa
where 学号='20110201008'
group by 学号,姓名
max(case when 课程='C语言' then 分数 end)as'C语言',max(case when 课程='数据库' then 分数 end)as'数据库',max(case when 课程='JAVA' then 分数 end)as'JAVA',AVG(score)as ‘平均分’
from
(select a.学号,a.姓名,b.课程,b.分数
from table1 as a
inner join table2 as b
on a.学号=b.学号)as aa
where 学号='20110201008'
group by 学号,姓名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-11
展开全部
可把表结构贴出来,帮你写查询
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |