您好,欢迎访问三七文档
•例1:查询全体学生的学号与姓名。SELECTSno,SnameFROMStudent例2.查询全体学生的姓名、学号、所在系SELECTSname,Sno,SdeptFROMStudent•例3.查询全体学生的记录SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent•例5.查询全体学生的姓名和出生年份所在系,并在出生年份列前加入一个列,此列的每行数据均为“出生年份”常量值。SELECTSname,'出生年份:',2010-SageFROMStudent例6.查询选修了课程的学生的学号SELECTSnoFROMSC•例7.查询计算机系全体学生的姓名。SELECTSnameFROMStudentWHERESdept='计算机系‘•例8.查询年龄在20岁以下的学生的姓名及年龄。SELECTSname,SageFROMStudentWHERESage20或SELECTSname,SageFROMStudentWHERENOTSage=20•例9.查询考试成绩有不及格的学生的学号SELECTDISTINCTSnoFROMSCWHEREGrade60•例10.查询年龄在20~23岁之间的学生的姓名、所在系和年龄。SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23SELECTSname,Sdept,SageFROMStudentWHERESage=20ANDSage=23•例11.查询年龄不在20~23之间的学生姓名、所在系和年龄。SELECTSname,Sdept,SageFROMStudentWHERESageNOTBETWEEN20AND23SELECTSname,Sdept,SageFROMStudentWHERESage20orSage23•例12.查询2009年6月份出版的全部图书的详细信息。SELECT*FROM图书表WHERE出版日期BETWEEN'2009/6/1'AND'2009/6/30'•例13.查询信息系、数学系和计算机系学生的姓名和性别。SELECTSname,SsexFROMStudentWHERESdeptIN('信息系','数学系','计算机系')SELECTSname,SsexFROMStudentWHERESdept='信息系‘orSdept='数学系‘orSdept='计算机系'•例14.查询信息系和计算机系之外的其他系的学生姓名、性别和所在系。SELECTSname,SsexFROMStudentWHERESdeptNOTIN('信息系','计算机系')SELECTSname,SsexFROMStudentWHERESdept!='信息系‘orSdept!='数学系‘•例15.查询姓‘张’的学生的详细信息。SELECT*FROMStudentWHERESnameLIKE'张%'•例16.查询学生表中姓‘张’、‘李’和‘刘’的学生的情况。SELECT*FROMStudentWHERESnameLIKE'[张李刘]%'•例17.查询名字中第2个字为‘小’或‘大’的学生的姓名和学号。SELECTSname,SnoFROMStudentWHERESnameLIKE'_[小大]%'•例18.查询所有不姓“王”也不姓“张”的学生姓名SELECTSnameFROMStudentWHERESnameNOTLIKE'[王张]%'•例19.查询姓“王”且名字是2个字的学生姓名。SELECTSnameFROMStudentWHERESnameLIKE'王_'•例20.查询姓王且名字是3个字的学生姓名SELECTSnameFROMStudentWHERESnameLIKE'王__'•例21.在Student表中查询学号的最后一位不是2、3、5的学生信息。SELECT*FROMStudentWHERESnoLIKE'%[^235]'•例22.查询没有考试成绩的学生的学号和相应的课程号。SELECTSno,CnoFROMSCWHEREGradeISNULL•例23.查询所有有考试成绩的学生的学号和课程号。SELECTSno,CnoFROMSCWHEREGradeISNOTNULL•例24.查询计算机系年龄在20岁以下的学生姓名。SELECTSnameFROMStudentWHERESdept='计算机系'ANDSage20•例25.查询计算机系和信息系年龄大于等于20岁的学生姓名、所在系和年龄。SELECTSname,Sdept,SageFROMStudentWHERE(Sdept='计算机系'ORSdept='信息系')ANDSage=20•例26.将学生按年龄的升序排序。SELECT*FROMStudentORDERBYSage•例27.查询选修了c02号课程的学生的学号及其成绩,查询结果按成绩降序排列。SELECTSno,GradeFROMSCWHERECno='c02'ORDERBYGradeDESC•例28.查询全体学生的信息,查询结果按所在系的系名升序排列,同一系的学生按年龄降序排列。SELECT*FROMStudentORDERBYSdept,SageDESC•例29.统计学生总人数。SELECTCOUNT(*)FROMStudent数(学生表里的)记录,有多少记录就有多少个学生。•例30.统计选修了课程的学生的人数。SELECTCOUNT(DISTINCTSno)FROMSC由于一个学生可以选多门课程,所以加DISTINCT•例31.统计9512101号学生的考试总成绩之和。SELECTCOUNT(*)AS选课门数,SUM(Grade)AS总成绩FROMSCWHERESno=‘9512101’COUNT(*)数个数,数选课表每个同学的选课记录就是选课门数•例32.计算C01号课程学生的考试平均成绩。SELECTAVG(Grade)AS平均成绩FROMSCWHERECno='C01'•例33.查询C01号课程的考试最高分和最低分。SELECTMAX(Grade)AS最高分,MIN(Grade)AS最低分FROMSCWHERECno='C01'•例34.查询“9512101”学生的选课门数、已考试课程门数以及考试最高分、最低分和平均分。SELECTCOUNT(*)AS选课门数,COUNT(Grade)AS考试门数,MAX(Grade)AS最高分,MIN(Grade)AS最低分,AVG(Grade)AS平均分FROMSCWHERESno='9512101‘COUNT(*)数个数,数选课表该同学的选课记录就是选课门数COUNT(Grade)数选课表该同学有几个考试成绩就是考试门数•例35.统计每门课程的选课人数,列出课程号和人数。SELECTCnoas课程号,COUNT(Sno)as选课人数FROMSCGROUPBYCno•例36.查询每个学生的选课门数和平均成绩。SELECTSnoas学号,COUNT(*)as选课门数,AVG(Grade)as平均成绩FROMSCGROUPBYSno•例37.统计每个系的学生人数和平均年龄。SELECTSdept,COUNT(*)AS学生人数,AVG(Sage)AS平均年龄FROMStudentGROUPBYSdept•例38.带WHERE子句的分组。统计每个系的女生人数。SELECTSdept,Count(*)女生人数FROMStudentWHERESsex='女'GROUPBYSdept•例39.按多列分组。统计每个系的男生人数和女生人数,以及男生的最大年龄和女生的最大年龄。结果按系名的升序排序。SELECTSdept,Ssex,Count(*)人数,Max(Sage)最大年龄FROMStudentGROUPBYSdept,SsexORDERBYSdept先按系别分组,每个系再按性别分组•例40.查询选修了3门以上课程的学生的学号和选课门数。SELECTSno,Count(*)选课门数FROMSCGROUPBYSnoHAVINGCOUNT(*)3•例41.查询修课门数等于或大于4的学生的平均成绩和选课门数。SELECTSno,AVG(Grade)平均成绩,COUNT(*)修课门数FROMSCGROUPBYSnoHAVINGCOUNT(*)=4•例42.查询计算机系和信息管理系的学生人数。•方法1:SELECTSdept,COUNT(*)FROMStudentGROUPBYSdeptHAVINGSdeptIN('计算机系','信息管理系')•方法2:SELECTsdept,COUNT(*)FROMStudentWHERESdeptIN('计算机系','信息管理系')GROUPBYSdept•例43.查询每个系年龄小于等于20岁的学生人数。SELECTSdept,COUNT(*)FROMStudentWHERESage=20GROUPBYSdept•例44.查询每个学生及其选课的详细信息。SELECT*FROMStudentINNERJOINSC把2个表联起来ONStudent.Sno=SC.Sno---SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudentJOINSCONStudent.Sno=SC.Sno•例46.查询计算机系学生的修课情况,要求列出学生的名字、所修课的课程号和成绩。SELECTSname,Cno,GradeFROMStudentJOINSCONStudent.Sno=SC.SnoWHERESdept='计算机系'•例47.查询信息系修了“计算机文化学”课程的学生信息,要求列出学生姓名、课程名和成绩。SELECTSname,Cname,GradeFROMStudentsJOINSCONs.Sno=SC.SnoJOINCoursecONc.Cno=SC.CnoWHERESdept='信息系'ANDCname='计算机文化学'•例48.查询所有修了VB课程的学生的修课情况,要求列出学生姓名和所在系。SELECTSname,SdeptFROMStudentSJOINSCONS.Sno=SC.SnoJOINCourseCONC.Cno=SC.cnoWHERECname='VB'•例49.有分组的多表连接查询。统计每个系的学生考试平均成绩。SELECTSdept,AVG(grade)asAverageGradeFROMstudentSJOINSCONS.Sno=SC.SnoGROUPBYSdept•例50.有分组和行选择条件的多表连接查询。统计计算机系每门课程的选课人数、平均成绩、最高成绩和最低成绩。SELECTCno,COUNT(*)ASTotal,AVG(Grade)asAvgGrade,MAX(Grade)asMaxGrade,MIN(Grade)asMinGradeFROMStudentSJOINSCONS.Sno=SC.SnoWHERESdept='计算机系'GROUPBYCno•例51.查询与刘晨在同一个系学习的学生的姓名和所在的系。SELECTS2.Sname,S2.SdeptFROMStudentS1JOINStudentS2ONS1.Sdept=S2.SdeptWHERES1.Sname='刘晨'ANDS2.Sname!='刘晨'•例52.查询与“操作系统”学分相同的课程的课程名和学分。SELECTC1.Cname,C1.CreditFROMCourseC1JOINCourseC2ONC1.Credit=C2.CreditWHEREC2.Cname='操作系统'•例53.查询学生的修课情况,包括修了课程的学生和没有修课的学生。SELECTStudent.Sno,Sname,Cno,GradeFROMStudentLEFTOUTERJOINSCONStudent.Sno=SC.Sno•例54.查询哪些课程没有人选,列出其课程名。SELECTCnameFROMC
本文标题:数据库操作语句
链接地址:https://www.777doc.com/doc-1908095 .html