您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > 实验报告-数据库的基本查询
一、实验目的:通过该实验掌握应用SQL查询数据库的基本方法,包括单表、多表查询。二、实验原理数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询。SELECT[ALL|DISTINCT]目标列表达式〉[,目标列表达式〉]...FROM表名或视图名〉[,表名或视图名〉]...[WHERE条件表达式][GROUPBY列名1〉[HAVING条件表达式]][ORDERBY列名2〉[ASC|DESC]]三、实验内容和方法实验用的数据库:用实验二建立的数据库:School1.投影查询(1)查询SC表的sno的不重复记录。使用SQL语句:“selectdistinctSnofromSC”,得出结果如下图所示:(2)改变查询结果的标题名:sno为学号,sname为姓名,ssex为性别,sdept为系名。使用SQL语句:“selectSno学号,Sname姓名,Ssex性别,Sdept系名fromStudent”,得出结果如下图所示:(3)查询STUDENT表的前3条记录(top3)。使用SQL语句:“selecttop3*fromStudent”,得出结果如下图所示:3.选择查询(1)查询成绩在60-80之间的姓名、系名和成绩。使用SQL语句:“selectSname,Sdept,GradefromStudent,SCwhereGrade60andGrade80andStudent.Sno=SC.Sno”,结果如下图所示:若使用SQL语句:“selectSname,Sdept,GradefromStudent,SCwhereGradebetween60and80andStudent.Sno=SC.Sno”,则结果如下图所示:(2)查询信息系和计算机系的姓名和成绩。使用SQL语句:“selectSname,GradefromStudent,SCwhereSdept='IS'andStudent.Sno=SC.SnoorSdept='CS'andStudent.Sno=SC.Sno”,结果如下图所示:(3)查询计算机系或女同学的记录。使用SQL语句:“select*fromStudentwhereSsex='女'orSdept='CS'”,得出结果如下图所示:(4)查询李姓同学的记录。使用SQL语句:“select*fromStudentwhereSnamelike'李%'”,得出结果如下图所示:(5)查询计算机系女同学的记录。使用SQL语句:“select*fromStudentwhereSdept='CS'andSsex='女'”,得出的结果如下图所示:4.排序查询(1)查询STUDENT表的所有字段和记录按年龄由大到小排序。使用SQL语句:“select*fromStudentorderbySagedesc”,得出的结果如下图所示:(2)查询STUDENT表的所有字段和记录按年龄由小到大排序。使用SQL语句:“select*fromStudentorderbySageasc”,得出的结果如下图所示:5.结合统计函数(1)查询SC表的最高分。使用SQL语句:“selectmax(Grade)最高分fromSC”,得出的结果如下图所示:(2)统计SC表95001学生的平均分。使用SQL语句:“selectavg(Grade)平均分fromSCwhereSno='95001'”,得出的结果如下图所示:(3)统计SC表各课程的最低分。使用SQL语句:“selectCno课程,min(Grade)最低分fromSCgroupbyCno”,得出的结果如下图所示:(4)查询超过平均分的学生姓名和系名。使用SQL语句:“selectSname,SdeptfromStudent,SCwhereGrade(selectavg(Grade)fromSC)andStudent.Sno=SC.Sno”,得出的结果如下图所示:(5)查询低于平均分的学生姓名、系名和课程名。使用SQL语句:“selectSname,Sdept,CnamefromStudent,Course,SCwhereGrade(selectavg(Grade)fromSC)andStudent.Sno=SC.SnoandCourse.Cno=SC.Cno”,得出的结果如下图所示:6.其他(1)查询其他系中比计算机系某一学生小的学生姓名和年龄。(2)查询其他系中比计算机系所有学生年龄都小的学生姓名和年龄。(3)查询每一门课的间接先修课(先修课的先修课)。
本文标题:实验报告-数据库的基本查询
链接地址:https://www.777doc.com/doc-4654023 .html