sliang28 发表于 2015-5-23 16:14

【2015SQL初级】第4讲作业B组上交贴

本帖最后由 sliang28 于 2015-6-4 19:11 编辑

第4讲
作业下载地址:http://www.excelpx.com/thread-343577-1-1.html
视频下载地址:
课件下载地址:
本次作业提交要求如下:
1、本次作业只需要提交SQL语句,您可以将From改为F提交,或者将SQL语句粘贴为图片上交.
2、跟帖时,不要重复占楼,修改请在原楼层,本帖已设置回复仅作者可见;
3、非组学员勿跟帖,违者扣BB+经验并删帖处理;
4、作业截止时间:2015年5月28日,20:00,请准时交作业

天地有雪 发表于 2015-5-23 23:06

交作业,交作业!不想了,想到头发花白了...
麻烦锁哥批改了!{:091:}
1、select a.学号,a.姓名,count(b.学号) as 选课数,sum(b.成绩) as 总成绩 F[成绩$]b right join [学生$]a on a.学号=b.学号 group by a.学号,a.姓名2、select a.学号,a.姓名,c.课程名,b.成绩 F[学生$]a,[成绩$]b,[课程$]c where a.学号=b.学号 and c.课程号=b.课程号 and a.学号 not in(select 学号 F[成绩$] where 成绩<95)3、select c.学号,c.姓名,c.性别,c.年龄 F(select * F[学生$])c left join (select 学号,count(成绩) as 成绩1 F[成绩$] group by 学号)a on a.学号=c.学号 where 成绩1 is null4、select c.学号,c.姓名 F(select * F[学生$])c left join (select 学号,count(成绩) as 成绩1 F[成绩$] group by 学号)a on a.学号=c.学号 where 成绩1 <>13

cg372101 发表于 2015-5-26 08:53

B04-cg372101 SQL班作业4:
第一题:Select A.学号,姓名,count(B.课程号) as 选课数,sum(B.成绩) as 总成绩 F [学生$] A left outer join [成绩$] B on A.学号=B.学号 group by A.学号,姓名第二题:Select A.学号,姓名,C.课程名,B.成绩 F [学生$] A,[成绩$] B,[课程$] C Where A.学号=B.学号 and B.课程号=C.课程号 and B.学号 not in (Select distinct 学号 F [成绩$] Where 成绩<=95)Select A.学号,姓名,C.课程名,A.成绩 F [成绩$] A,[课程$] C,[学生$] D Where A.成绩>95 and A.课程号=C.课程号 and A.学号=D.学号 and not exists (Select 1 F [成绩$] B Where B.学号=A.学号 and B.课程号<>A.课程号 and B.成绩<=95) order by A.学号第三题:Select 学号,姓名,性别,年龄 F [学生$] Where 学号 not in (Select distinct 学号 F [成绩$])第四题:Select A.学号,姓名 F [学生$] A,(Select 学号,count(课程号) as 修课数 F [成绩$] group by 学号) B Where A.学号=B.学号 and B.修课数<(Select count(*) F [课程$])第五题:Select A.姓名,A.联系电话,B.姓名 as 亲属姓名 F [员工$] A,[员工$] B Where A.联系电话=B.亲属电话附加题(例10):Select * F [奖金$] A left join [奖金$] B on A.奖金>B.奖金

沐沐 发表于 2015-5-26 09:25

本帖最后由 沐沐 于 2015-5-26 09:26 编辑

1、select a.学号,a.姓名,count(b.成绩) as 选课数,sum(b.成绩) as 成绩 f [学生$]a left join [成绩$]b on a.学号=b.学号 group by a.学号,a.姓名2、select a.学号,a.姓名,c.课程名,b.成绩 f [学生$]a,(select * f [成绩$]d where exits(select 学号 f [成绩$] where d.学号=学号 group by 学号 having min(成绩)>=95))b,[课程$]c where a.学号=b.学号 and b.课程号=c.课程号3、select * f [学生$a:d] where 学号 not in(select distinct 学号 f [成绩$a:c])4、select a.学号,a.姓名 f [学生$]a inner join [成绩$]b on a.学号=b.学号 group by a.学号,a.姓名 having count(*)<>(select count(*) f [课程$])5、select a.姓名,a.联系电话,b.姓名 as 亲属姓名 f [员工$]a inner join [员工$]b on a.联系电话=b.亲属电话

ldxhzy 发表于 2015-5-26 14:15

本帖最后由 ldxhzy 于 2015-5-26 14:31 编辑

B15:ldxhzy
1:
    select a.学号,a.姓名,count(b.课程号) as 选课数,sum(b.成绩) as 成绩F [学生$] as a left join [成绩$] as b on a.学号=b.学号 group by a.学号,a.姓名
2:
    select a.学号,a.姓名,c.课程名,b.成绩F [学生$] as a ,[成绩$] as b,[课程$] as c where (a.学号=b.学号 and b.课程号=c.课程号 and a.学号 in (select 学号 f [成绩$] group by 学号 having min(成绩)>95)) order bya.学号
3:
    select 学号,姓名,性别,年龄 F [学生$] where 学号 not in (select 学号 f [成绩$])
4:
    select a.学号,a.姓名 f [学生$] as a left join [成绩$] as b on a.学号=b.学号 group by a.学号,a.姓名 having count(b.学号)<(select count(课程号) F [课程$]) and count(b.学号)>0
5:
    select b.姓名,b.联系电话,a.姓名 as 亲属姓名F [员工$] as a,[员工$] as b where a.亲属电话=b.联系电话

fffox 发表于 2015-5-27 11:19

第一题:查询所有学生的学号、姓名、选课数、总成绩select a.学号,姓名,count(课程号) as 选课数,sum(成绩) as 总成绩
f (select *f [学生$] a left join [成绩$] b on a.学号=b.学号)
group by a.学号,姓名第二题:查询每科成绩都高于95的学生信息select a.学号,姓名,课程名,成绩
f (select 学号 f [成绩$] group by 学号 having avg(成绩>95)=-1) a,[学生$] b,[成绩$] c,[课程$] d
where a.学号=b.学号 and a.学号=c.学号 and c.课程号=d.课程号
order by a.学号第三题:查询没有选修任何课程的学生信息select a.学号,姓名,性别,年龄
f[学生$] a left join [成绩$] b on a.学号=b.学号
where b.学号 is null第四题:查询没有选修全部课程的学生信息select a.学号,姓名 f [学生$] a,[成绩$] b where a.学号=b.学号
group by a.学号,姓名 having count(课程号)<(select count(课程号) f [课程$])第五题:查询亲属原来也在本公司工作的员工信息select a.姓名,a.联系电话,b.姓名 as 亲属姓名
f [员工$] a,[员工$] b where a.联系电话=b.亲属电话附加题:根据“奖金”表将每个人的奖金以及比每个人奖金低的人员信息列出来select a.*,b.姓名f [奖金$] a,[奖金$] b where a.奖金>b.奖金 order by a.奖金 desc

SZHPBS 发表于 2015-5-27 18:09


B08-SZHPBS第四节作业

第一题:SELECT A.学号,姓名,COUNT(B.课程号) AS 选课数,SUM(成绩) AS 总成绩F [学生$] A LEFT JOIN [成绩$] BON A.学号=B.学号GROUP BY A.学号,姓名

第二题:SELECT A.学号,A.姓名,C.课程名, B.成绩 F [学生$] A,[成绩$] B,[课程$] C WHERE A.学号=B.学号 AND B.课程号=C.课程号 AND A.学号 IN (SELECT 学号 F [成绩$] GROUP BY 学号 HAVING SUM(成绩)/COUNT(成绩)>95) ORDER BY A.学号

第三题:SELECT * F [学生$] WHERE 学号 NOT IN (SELECT A.学号 F [学生$] A,[成绩$] B WHERE A.学号=B.学号 )

第四题:SELECT 学号,姓名 F [学生$] WHERE 学号 IN (SELECT A.学号F [学生$] A,[成绩$] B WHERE A.学号=B.学号 GROUP BY A.学号HAVING COUNT(课程号)<13)

第五题:SELECT A.姓名,A.联系电话 ,B.姓名 AS 亲属姓名 F [员工$] A INNER JOIN (SELECT 姓名,亲属电话 F[员工$] WHERE 亲属电话 IS NOT NULL) B ONA.联系电话=B.亲属电话

蝶·舞 发表于 2015-5-27 19:52

本帖最后由 蝶·舞 于 2015-5-27 20:38 编辑

B012:蝶·舞、

第一题select a.学号,姓名,count(课程号) as 选课数,sum(成绩) as 总成绩 F [学生$] a left join [成绩$] b on a.学号=b.学号 group by a.学号,姓名第二题select a.学号,姓名,课程名,成绩F ([学生$] a left join [成绩$] b on a.学号=b.学号) left join [课程$] c on b.课程号=c.课程号 where a.学号 in (select 学号 F[成绩$]group by 学号 having min(成绩) > 95)第三题select a.学号,姓名,性别,年龄 F [学生$] a left join [成绩$] b on a.学号=b.学号 where 成绩 is null第四题select a.学号,姓名 F [学生$] a inner join [成绩$] b on a.学号=b.学号group by a.学号,姓名 having count(课程号) <13第五题select a.姓名,a.联系电话,b.姓名 as 亲属姓名F [员工$] a ,[员工$] b where a.联系电话 = b.亲属电话

努力付出 发表于 2015-5-28 16:45

做得特差了一点:'(

byhdch 发表于 2015-5-28 18:50

本帖最后由 byhdch 于 2015-5-29 09:09 编辑

请老师批改作业:

页: [1] 2
查看完整版本: 【2015SQL初级】第4讲作业B组上交贴