您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > 数据库实验3-数据查询
实验三数据查询[实验目的]1.掌握SQL的单表查询操作2.掌握SQL的连接查询操作3.掌握SQL的嵌套查询操作4.掌握SQL的集合查询操作[实验时数]2学时[实验内容]本实验的主要内容是:1.简单查询操作。包括投影、选择条件表达,数据排序,使用临时表等。2.连接查询操作。包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。3.在SQLServer查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。4.组合查询与统计查询。(1)分组查询实验。该实验包括分组条件表达、选择组条件的表达方法。(2)使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。(3)组合查询实验。(4)计算和分组计算查询的实验。[实验方法]1.将查询需求用Transact-SQL语言表示。2.在SQLServer查询分析器的输入区中输入Transact-SQL查询语句。3.设置查询分析器结果区为StandardExecute(标准执行)或ExecutetoGrid方式。4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。5.查询分析器及使用方法。查询分析器是在开发数据库应用系统时使用最多的工具。查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。图5-错误!未定义书签。SQLServer2000查询分析器查询分析器的界面如图5-错误!未定义书签。所示。在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。对于TSQL语句的其执行结果,在结果区中可以有4种不同的输出形式:标准执行将结果直接显示的结果区;网格执行将结果以表格形式显示的结果区;计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。上述输出形式,可以通过菜单或按钮选择。[实验步骤]1.基本操作实验(1)简单查询实验1)Transact-SQL语句表示下列操作,在学生选课库中实现其数据查询操作:求数学系学生的学号和姓名。求选修了课程的学生学号。求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。求选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。求数学系或计算机系姓张的学生的信息。求缺少了成绩的学生的学号和课程号。2)在图书借阅库中实现其查询操作:将计算机类的书存人永久的计算机图书表,将借书日期在99年以前的借阅记录存人临时的超期借阅表。(2)连接查询实验用Transact-SQL语句表示,并在学生选课库中实现下列数据连接查询操作。查询每个学生的情况以及他(她)所选修的课程。求学生的学号、姓名、选修的课程名及成绩。求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。查询每一门课的间接先行课(即先行课的先行课)。(3)嵌套查询实验Transact-SQL语句表示,在学生选课库中实现其数据嵌套查询操作。求选修了高等数学的学生学号和姓名。求C1课程的成绩高于张三的学生学号和成绩。求其他系中比计算机系某一学生年龄小的学生(即求年龄小于计算机系年龄最大者的学生)。求其他系中比计算机系学生年龄都小的学生。求选修了髓课程的学生姓名。求没有选修C2课程的学生姓名。查询选修了全部课程的学生的姓名。求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。(4)组合查询与统计查询实验在图书借阅库中实现其查询操作。查找这样的图书类别:要求类别中最高的图书定价不低于全部按类别分组的图书平均定价的2倍。求机械工业出版社出版的各类图书的平均定价,用GROUPBY表示。列出计算机类图书的书号、名称及价格,最后求出册数和总价格。列出计算机类图书的书号、名称及价格,并求出各出版社这类书的总价格,最后求出全部册数和总价格。查询计算机类和机械工业出版社出版的图书。2.提高操作实验(1)按下表的格式,建立职工部门库和职工、部门表,并向表中输入数据。(2)Transact-SQL语句表示职工和部门之间的内连接、左外部连接和右外部连接,在职工部门库中实现其数据内连接和各种外查询操作。职工表部门表职工号姓名性别年龄所在部门部门号部门名称电话1010李勇男201111生产科5661011刘晨女1912计划科5781012王敏女221213一车间4671014张立男211314科研所(3)将自设计的数据库应用项目中的分组、统计、计算和组合查询,用Transact-SQL语句表示,并通过SQLServer查询分析器实现其查询操作。[实验报告要求]1.分别用SQL和Transact-SQL写出实验操作的查询语句,对两种语言进行比较。2.实验步骤和实验结果。3.实验中的问题和提高。[注意事项]1.查询结果的几种处理方式。2.内连接、左外部连接和右外部连接的含义及表达方法。3.输入SQL语句时应注意,语句中均使用西文操作符号。4.子句WHERE条件表示元组筛选条件,子句HAVING条件表示组选择条件。5.组合查询的子句间不能有语句结束符。6.子句HAVING条件必须和GROUPBY分组字段子句配合使用。[思考题]1.如何提高数据查询和连接速度。2.对于常用的查询形式或查询结果,怎样处理好?3.组合查询语句是否可以用其他语句代替,有什么不同?4.使用GROUPBY分组条件子句后,语句中的统计函数的运行结果有什么不同。
本文标题:数据库实验3-数据查询
链接地址:https://www.777doc.com/doc-1916064 .html