网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

中纺达SQL资料

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:网学会员为大家收集整理了中纺达SQL资料提供大家参考,希望对大家有所帮助!


    在数据库中有四张表,分别是学生表,课程表,成绩表,教师表;各表的数据字段如下所示:Student(S#,Sname,Sage,Saex)学生表Course(C#,Cname,T#)课程表SC(S#,C#,score)成绩表Teacher(T#,Tname)教师表
    下面问题都是上面介绍的四张数据表为基础的、
    1.查询查询"001"课程比课程比"002"课程成绩高的所课程比课程成绩高的所有学生的;有学生的;
    答:这里认为001和002是课程名,不是课程Id(如果是课程Id,就省去连接课程表)selectaa.S#from(selectb.S#,b.scorefrom(selectS#,C#,scorefromSC)binnerjoin(selectC#fromCoursewhereCname='001')conb.C#=c.C#)aainnerjoin(selectb.S#,b.scorefrom(selectS#,C#,scorefromSC)binnerjoin(selectC#fromCoursewhereCname='002')conb.C#=c.C#)bbonaa.S#=bb.S#whereaa.score>bb.score
    2.查询平均成绩大于60分的和平均成绩;
    答:selectS#,avg(score)fromSCgroupbyS#havingavg(score)>60
     3.查询所有同学的、、选课数、总查询所有同学的、、选课数、成绩;成绩;
    selecta.S#as,a.Snameas,b.选课数选课数,b.总成绩总成绩from选课数总成绩(selectS#,SnamefromStudent)ainnerjoin(selectS#,count(1)as选课数选课数,sum(score)as总成绩fromSCgroupbyS#)bona.S#=b.S#海淀驾校selectcount(1)as李姓教师数量fromTeacherwhereTnamelike'李%'
    4.查询没学过叶平老师课的同学的、查询没学过"叶平老师课的同学的、叶平"老师课的同学的;;
    selectS#as,SnameasfromStudentwhereS#notin(selecta.S#from(selectS#,C#fromSC)ainnerjoin(selectC#,T#fromCourse)bona.C#=b.C#innerjoin(selectT#fromTeacherwhereTname='叶平')conb.T#=c.T#)
    5.查询学过查询学过"001"并且也学过编号并且也学过编号"002"课并且也学过编号课程的同学的、;程的同学的、;
    selectc.S#as,c.Snameasfrom(selectS#fromSCwhereC#=’001’)ainnerjoin(selectS#fromSCwhereC#=’002’)bona.S#=b.S#innerjoin(selectS#,SnamefromStudent)conb.S#=c.S#
     6.查询学过叶平老师所交的所有课程的查询学过"叶平叶平"老师所交的所有课程的同学的、;同学的、;
    selectdistinctd.S#as,d.Snameasfrom(selectS#from(selectT#fromTeacherwhereTname='叶平')ainnerjoin(selectT#,C#fromCourse)bona.T#=b.T#innerjoin(selectS#,C#fromSC)conb.C#=c.C#groupbyc.S#havingcount(1)>=(selectcount(1)from(selectT#fromTeacherwhereTname='叶平')ainnerjoin(selectT#,C#fromCourse)bona.T#=b.T#))aainnerjoin(select*fromStudent)donaa.S#=d.S#
    7.查询课程编号查询课程编号"002"的成绩比课
    程编号"001"课程低的所有同学的、;课程低的所有同学的、;课程低的所有同学的
    selecta.S#as,c.Snameasfrom(selectS#,C#,scorefromSCwhereC#=’001’)ainnerjoin(selectS#,C#,scorefromSCwhereC#=’002’)bona.S#=b.S#innerjoin(selectS#,SnamefromStudent)cona.S#=c.S#wherea.score>b.score
    8.查询所课程成绩小于60的同学的、的同学的、;;
    selectdistincta.S#as,a.Snameasfrom(selectS#,SnamefromStudent)ainnerjoin(selectS#fromSC)bona.S#=b.S#
     wherea.S#notin(selectS#fromSCwherescore>=60groupbyS#)
    9.查询没有学所有课的同学的、;查询没有学所有课的同学的、;
    selecta.S#as,a.Snameasfrom(selectS#,SnamefromStudent)aleftjoin(selectdistinctS#fromSC)bona.S#=b.S#whereb.S#isnull
    10.查询至少有一门课与查询至少有一门课与"1001"的同的同学相同的同学的和;学相同的同学的和;
    selectb.S#as,b.Snameasfrom(selectS#fromSCwhereC#in(selectC#fromSCwhereS#=’1001’)groupbyS#)ainnerjoin(select*fromStudent)bona.S#=b.S#
    11.查询至少学过为查询至少学过为"001"同学所有一同学所有一门课的其他同学和;门课的其他同学和;
    selectbb.S#as,bb.Snameasfrom(selectb.S#,count(1)as相同课数量相同课数量from(selectC#fromSCwhereS#=’001’)ainnerjoin(selectC#,S#fromSC)bona.C#=b.C#groupbyb.S#havingcount(1)>=(selectcount(1)fromSCwhereS#=’001’))aainnerjoin(select*fromStudentwhereS#<>’001’)bbonaa.S#=bb.S#
    
    
  • 下一篇资讯: 中级SQL考前复习资料
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师