数据库实验四SQL数据查询.docx
上传人:王子****青蛙 上传时间:2024-09-12 格式:DOCX 页数:13 大小:1.4MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

数据库实验四SQL数据查询.docx

数据库实验四SQL数据查询.docx

预览

免费试读已结束,剩余 3 页请下载文档后查看

10 金币

下载此文档

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

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

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

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

一、实验目的与要求:1.实验目的熟练掌握SQLSELECT语句,能运用查询语句完成各种查询。实验内容:在实验三和实验四的基础上完成查询操作,将题目中的x,y等具体化:一般简单查询不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。查询某个表中的所有记录。使用单个条件的简单查询。使用多个条件(AND关系)的查询。使用多个条件(OR关系)的查询。使用多个条件(混合AND和OR关系)的查询。使用带NOT运算的查询。使用BETWEEN···AND···的查询。使用NOT···BETWEEN···AND···的查询。使用LIKE运算符的字符串匹配查询。使用LIKE运算符的模板匹配查询。查询空值和非空值的查询结果要求排序的查询查询结果按多列排序,并分别要求升序和降序的查询。使用TOP显示前若干记录的查询。使用TOP显示前若干记录的查询,如果有满足条件的并列记录一并显示。2、连接查询两个关系的连接查询。带其他查询条件的两个关系的连接查询。多个关系(三个以上)的连接查询。两个关系的广义笛卡尔积运算结果。根据两个关系的广义笛卡尔积运算结果得到两个关系进行自然连接的结果。查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段。查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中列出所有教师信息(即包括不是任何课程责任教师的教师信息)。查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中能够反映目前没有确定责任教师的课程信息。查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中既能够反映目前不是责任教师的教师信息,又能反映目前没有确定责任教师的课程信息。提示:(22)~(25)分别用内连接、左连接、右连接完成,分析它们的效果。3、嵌套查询(注意使用ANY、ALL和EXISTS)使用IN运算的简单嵌套查询。使用NOTIN运算的简单嵌套查询。使用关系运算(如等于)的简单嵌套查询。使用ANY或SOME的简单嵌套查询。使用ALL的简单嵌套查询。查询院系名称含“计算机”、职称为教授、所负责教程为必修课的教师姓名、职称、课程名称和课程学时等信息(分别用嵌套查询和连接查询完成,分析各自的效率)。设计两个内外层互相关的嵌套查询。使用EXISTS的嵌套查询。使用NOTEXISTS的嵌套查询。4、汇总和分组查询使用COUNT统计数目的查询。使用SUM计算合计的查询。一次完成求和、计数、计算平均值的查询。查询所有课程的成绩都大于60分的学生的平均分最高的学生信息。查询数据库课程的成绩大于70分的、所有课程平均分最高的学生信息。查询每个学生的平均成绩。查询每个学生的所有成绩的最高成绩、最低成绩、平均成绩和所考课程的门数。查询至少有10门必修课程考试成绩的每个学生的平均成绩。设计2个使用COMPUTE···BY和COMPUTE的查询。设计1个使用COMPUTE的查询。设计1个使用COMPUTE···BY的查询。二、实验内容1、实验原理SQLSELECT查询语句的一般格式是:SELECT[ALL|DISTINCT]<表达式>[,<表达式>…]FROM<表名>[,<表名>…][WHERE<逻辑表达式>][GROUPBY<列名>[,<列名>…][HAVING<谓词>]][ORDERBY<列名>[ASC|DESC],[<列名>[ASC|DESC]]…]2、实验步骤与结果(1)调出SQLServer2005软件的用户界面,进入SQLServerManagementStudio。(2)输入自己编好的程序。(3)检查已输入的程序正确与否。(4)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同的数据时所得到的结果是否正确。(5)输出程序清单和运行结果。实验过程及相关程序:一般简单查询不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。selectdistinct学号from选课select学号from选课查询某个表中的所有记录查询教师表中的所有记录使用单个条件的简单查询查询成绩大于50的学生的学号select学号from选课where成绩>50使用多个条件(AND关系)的查询select工资from教师where工资>200and工资<500使用多个条件(OR关系)的查询select工资from教师where工资<200or工资>500使用多个条件(混合AND和OR关系)的查询select*from学生where(院系='2'and生源=