select*fromstudent--模糊查询--查询住址为“山东”的学生姓名、电话、住址selectstudentnameas学生姓名,Phoneas电话,Addressas住址fromstudentwhereAddresslike'%山东%'--查询名称中含有“数据库”字样科目名称、学时及所属年级,并按年级由低到高显示select*fromsubjectselectsubjectNameas科目名称,ClassHouras学时,GradeIdas年级fromsubjectwhereSubjectNamelike'%数据库%'orderbyGradeID--询电话中含有以“1387”开头的学生姓名,住址和电话selectStudentNameas学生姓名,Addressas住址,Phoneas电话fromstudentwherePhonelike'1387%'--查询姓名为“姜*”的学号、姓名和住址,其中*代表一个字selectStudentNoas学号,StudentNameas学生姓名,Addressas住址fromstudentwhereStudentNamelike'姜_'--查询学号为S1101004的学员的科目编号为1、2、3的考试成绩信息select*fromResultselectSubjectIdas科目,StudentResultas成绩fromResultwheresubjectIdlike'[1-3]'andStudentNo='s1101004'--查询出生日期中1980-1-1到1989-12-31之间的学生信息select*fromStudentwhereBornDatebetween'1980-01-01'and'1989-12-31'--汇总信息查询--统计数据库中学生总人数selectcount(*)as总人数fromstudent--查询s1年级的总学时select*fromsubjectselectsum(ClassHour)as总学时fromSubjectwhereGradeId=1--学号为S1101004的学生第一学期内考试总成绩select*fromresultselectsum(StudentResult)as总成绩fromresultwherestudentNo='s1101004'andsubjectidlike'[1-4]'--学号为S1101004的学生第一学期所有考试的平均分selectavg(StudentResult)as平均分fromResultwherestudentNo='s1101004'andsubjectIDlike'[1-4]'--查询2010年3月22日的科目“C#语言和数据库技术”的最高分、最低分、平均分selectmax(studentresult)as最高分,min(studentresult)as最低分,avg(studentresult)as平均分fromresultwhereexamDate='2010-03-22'andsubjectid=3--查询2010年3月22日科目“C#语言和数据库技术”的及格学生的平均分selectavg(studentresult)as平均分fromresultwheresubjectid=3andexamDate='2010-03-22'andstudentresult>=60--查询2010年3月22日科目“C#语言和数据库技术”的及格学生的平均分selectavg(studentresult)as平均分fromresultwheresubjectid=3andexamDate='2010-03-22'andstudentresult>=60--查询所有参加“C#语言和数据库技术”科目考试平均分select*fromresultselectavg(studentresult)as平均分fromresultwheresubjectid=3--查询每个年级的总学时数,并按照升序排列select*fromsubjectselectsum(ClassHour)as总学时fromsubjectgroupbygradeidorderbygradeid--查询每个参加考试的学员的平均分selectavg(studentResult)as平均分,studentnoas学号fromresultgroupbystudentno--查询每门课程的平均分,并按照降序排列selectavg(studentresult)as平均分fromresultgroupbysubjectidorderbyavg(studentresult)desc--查询每个学生参加的所有考试的总分,并按照降序排列selectsum(studentresult)as总分fromresultgroupbystudentnoorderbysum(studentresult)desc--内联接查询--查询学生姓名、所属年级名称及联系电话select*fromgradeselect*fromstudentselectstudent.studentnameas姓名,grade.gradenameas班级名称,student.Phonefromstudent,gradewherestudent.gradeid=grade.gradeidselects.studentnameas姓名,g.gradenameas班级,s.phonefromgradeasginnerjoinstudentassons.gradeid=g.gradeid----查询年级编号为1的科目名称、年级名称及学时。select*fromgradeselect*fromsubjectselects.subjectnameas科目名称,g.gradenameas班级名称,s.classhourfromsubjectassinnerjoingradeasgons.gradeid=g.gradeidandg.gradeid=1--查询参加科目编号为1的考试的学生姓名、分数、考试日期。select*fromstudentselect*fromresultselects.studentnameas姓名,r.studentresultas分数,r.examdatefromstudentassinnerjoinresultasrons.studentno=r.studentnoandr.subjectid=1--查询学号为S1101007的学生参加的考试科目名称、分数、考试日期。select*fromresultselect*fromsubjectselects.subjectNameas考试科目,r.studentResultas分数,r.ExamDateas考试日期fromsubjectassinnerjoinresultasrons.subjectid=r.subjectidandr.studentNo='s1101007'--查询参加考试的学生学号、所考科目名称、分数、考试日期selectr.studentNoas学号,s.subjectNameas考试科目,r.studentResultas考试成绩,r.ExamDateas考试日期fromsubjectassinnerjoinresultasrons.subjectid=r.subjectid--三表连接--查询学生学号、姓名、考试科目名称及成绩select*fromstudentselect*fromsubjectselect*fromresultselectstudent.studentnoas学号,student.studentnameas姓名,subject.subjectnameas考试科目,result.studentresultas成绩fromstudent,subject,resultwherestudent.gradeid=subject.gradeidandstudent.studentno=result.studentnoandsubject.subjectid=result.subjectid--查询参加“走进Java编程世界”考试的学生姓名、成绩、考试日期selectstudent.studentnameas姓名,result.studentresultas成绩,result.examdateas日期,subject.subjectnamefromstudent,subject,resultwherestudent.gradeid=subject.gradeidandstudent.studentno=result.studentnoandsubject.subjectid=result.subjectidandsubject.subjectname='走进Java编程世界'--外连接--查询所有科目的参考信息(某些科目可能还没有被考试过)selectsubject.subjectnameas考试科目,result.studentresultas成绩fromsubjectleftjoinresultonsubject.subjectid=result.subjectid--查询年龄超过20周岁的y2的学生信息。select*fromstudentassinnerjoinGradeasgons.Gradeid=g.Gradeidandg.Gradename='y2'andDATEDIFF(DD,BornDate,GETDATE())>=365*20--查询1月份过生日的学生信息select*fromstudentwheredatepart(month,Borndate)=1--查询今天过生日的学生姓名及所在年级。selectstudentnameas姓名,Gradeidas年级fromstudentwheredatepart(mm,Borndate)=datepart(mm,GETDATE())anddatepart(dd,Borndate)=datepart(dd,GETDATE())--查询学号为“Y21003007”的学生Email的域名。selectRIGHT(Email,LEN(Email)-CHARINDEX('@',Email))as域名fromstudentwherestudentNO='Y21003007'--新生入学,为其分配一个Email地址,规则如下:S1+当前日期+4位随机数+@jbit.comselect's1'+CONVERT(VARCHAR(4),DATEPART(YYYY,GETDATE()))+CONVERT(VARCHAR(2),DATEPART(mm,GETDATE()))+CONVERT(VARCHAR(2),DATEPART(dd,GETDATE()))+RIGHT(RAND(),4)+'@jbit.com'