预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

操作过程:列出不及格记录的学生名单:selectstudent.当有两列列名相同时注意snum,student.sname,course.cnum,course.cname,sc.scorefromstudentinnerjoin多个表连接sconstudent.snum=sc.snuminnerjoinsectiononsc.secnum=section.secnuminnerjoincourseon连接条件section.cnum=course.cnumwherescore<60不及格学生名单小结:选修计算机系课程学生当所选择的列名在多个表中都存在时,则列明之前要加前缀,格式为:“表名.列名”例如:连接的两个表中有相同列当student表和sc表连接后,选择“snum”时,要声明选择的“snum”取自哪个表,因为student表和sc表中都有“snum”列,所以正确的写法是“student.snum”。列出选修了计算机系课程的学生姓名和年龄:selectdistinct避免重复记录student.sname,DATEDIFF(yyyy返回年,或者用year,student.birthday,getdate()返回当前日期)asagefromstudentinnerjoinsconstudent.snum=sc.snuminnerjoinsectiononsc.secnum=section.secnuminnerjoincourseonsection.cnum=course.cnumwherecourse.dept='计算机系'或者like’计算机系%‘小结:distinct表示查询中不能出现重复的记录,因为计算机系下有三门不同课程,有的同学可能同时选修几门计算机系的课程,这样就会导致查询结果中出现重复记录,而用distinct就可以有效避免这一现象。选修数据库技术学生DATEDIFF函数的应用中出现错误,VB中要得到当前的日期会用到NOW(),而SQLService要用到GETDATE()返回当前日期。检索选修了数据库技术课程的学生姓名和系别:selectstudent.sname,student.deptfromstudentinnerjoinsconstudent.snum=sc.snuminnerjoinsectiononsc.secnum=section.secnuminnerjoincourseonsection.cnum=course.cnumwherecname='数据库技术'选修所有课程学生列出选修了所有课程的学生名单:selectstudent.snum,snamefromstudent,scwherestudent.snum=sc.snumgroupbystudent.snum,snamehaving括号不能省COUNT(*)=(Groupby后用having语句过滤selectCOUNT(*)fromcourse)小结:选择的列要在groupby子句后表示出来每门成绩80分Groupby子句后只能用having子句进行过滤检索每门课程成绩都在80分以上的学生名单:selectsnum,snamefromstudentwheresnamenotin(selectsnamefromstudent,scwherestudent.snum=sc.snumandscore<80)检索获得奖学金学生名单(每门课程在80分以上,平均成绩在90分以上):selectstudent.snum,snamefromstudentjoinsconstudent.snum=sc.snumwheresnamenotin(selectsnamefromstudent,scwherestudent.snum=sc.snumandscore<80)奖学金获得者groupbystudent.snum,snamehavingAVG(score)>=90大学英语成绩检索选修了大学英语的学生名单和成绩并按成绩从高到低排列:selectstudent.snum,sname,scorefromstudentinnerjoinsconstudent.snum=sc.snuminnerjoinsectiononsc.secnum=section.secnuminnerjoincourseonsection.cnum=course.cnumwherecname='大学英语'orderbyscoredesc升序asc,降序desc,默认升序小结:1)orderby子句中,asc表示升序,desc表示降序,默