计算机的sql练习题.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机的sql练习题

计算机的sql练习题(含答案) --试题1、2(表的建立及原题请参考邹健老师的专栏:/zjcxc/) (注:邹健老师的专栏有部分答案有问题) SELECT * FROM student SELECT * FROM course SELECT * FROM sc --1. 使用标准SQL嵌套语句查询选修课程名称为’effect c++’的学员学号和姓名 SELECT sname,sno FROM student WHERE sno in( ?SELECT sno FROM sc WHERE cno=( ??SELECT cno FROM course WHERE cname=effect c++)) --网上实现代码: SELECT sname,sno FROM student WHERE sno IN( ??? SELECT sno FROM course,sc ??? ?WHERE o=o AND cname=effect c++) ? --2.使用标准SQL嵌套语句查询选修课程编号为’002’的学员姓名和年龄 SELECT sname,sage FROM student WHERE sno IN( ??? SELECT sno FROM sc ??? ?WHERE o=002) --网上实现代码: SELECT s.sname,s.sage FROM student s,sc WHERE s.sno=sc.sno AND o=002 --3. 使用标准SQL嵌套语句查询不选修课程编号为’002’的学员姓名和年龄 SELECT sname,sage FROM student WHERE sno not in ( ?SELECT sno FROM sc WHERE cno=002) --网上实现代码: --一样 --4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和年龄 --网上实现代码有误,修改后代码: SELECT sname,sage FROM student WHERE sno IN( ??? SELECT sc.sno FROM sc RIGHT JOIN course c ON o=o ??? GROUP BY sno HAVING COUNT(*)=(select DISTINCT count(*) from course)) ??? --or ??? --GROUP BY sno HAVING COUNT(*)=(select? count(DISTINCT cname) from course)) --5.查询选修了课程的学员人数 SELECT count(distinct sno) FROM sc --网上实现代码: 一样 --6. 查询选修课程超过2门的学员学号和年龄 SELECT sname,sage FROM student WHERE sno in( ?SELECT sno FROM sc GROUP BY sno HAVING count(cno)2) --网上实现代码: SELECT sname,sage FROM student WHERE sno IN( ?SELECT sno FROM sc GROUP BY sno HAVING count(DISTINCT [cno])2) ? --7. 找出没有选修过“李明”老师讲授课程的所有学生姓名 SELECT sno,sname FROM student WHERE sno not in ?(SELECT sno FROM sc WHERE cno =( ??SELECT cno FROM course WHERE cteacher=lida)) --我的另一种方法 SELECT sno,sname FROM student s WHERE not exists ?(SELECT * FROM sc WHERE sc.sno=s.sno and o =(SELECT cno FROM course WHERE cteacher=lida)) --网上实现代码: SELECT s.sno,s.sname FROM student s WHERE NOT EXISTS( ??? SELECT * FROM sc,course c WHERE o=o AND c.cteacher=lida AND sc.sno=s.sno) --8. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 SELECT s.sno,s.sname,AVG(cast(sc.grade as int)) FROM sc,student s ?WHERE s.sno in (select sc.sno from sc where cast(sc.gra

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档