本实验需要1学时。 一、实验目的
使学生掌握SQL Server新建查询的使用方法.加深对SQL和Transact-SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法。 二、实验内容 1 简单查询操作
该实验包括投影、选择条件表达、数据排序、使用临时表等。 2 连接查询操作
该实验包括等值连接、自然连接、求笛卡尔积、一般连接、外连接、内连接、左连接、右连接和自连接等。 三、实验方法
1 将查询需求用Transact-SQL语言表示。
2 在 SQL Server新建查询的输入区中 Transact-SQL查询语句。
3 设置新建查询结果区为Standard Execute(标准执行)或Execute to Grid方式。 4 发布执行命令,查看查询结果.如果结果不正确,进行修改.直到正确为止。 5 新建查询及使用方法。
新建查询是在开发数据库应用系统时使用最多的工具。新建查询的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储).查询分析功能主要通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能、新建查询的界面如图3-17图所示。
图3-17 SQL Server 2005新建查询
在查询生成器中的左边窗口是对象测览器,其中按树结构列出了数据库对象;右上方是SQL代码区域.用于输入 SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果、对于TSQL语句的执行结果,在结果区中可以有4种不同的输出形式:标准执行将结果直接显示在结果区 网格执行将结果以表格形式显示在结果区.计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。上述输出形式,可以通过菜单或按纽选择。 四、实验步骤 1 基本操作实验 (1)简单查询实验
l)用Transact-SQL语句表示下列操作.在学生选课库中实现其数据查询操作. ①求数学系学生的学号和姓名。 ②求选修了课程的学生学号。
③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
④获选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
⑤求数学系或计算机系姓张的学生的信息。 ③求缺少了成绩的学生的学号和课程号。
2)在图书借阅库中实现其查询操作:将计算机类的书存入永久的计算机图书表中,将借书日期在1999年以前的借阅记录存入临时的超期借阅表。 (2)连接查询实验
用Transact-SQL语句表示,并在学生选课库中实现下列数据连接查询操作: ①查询每个学生的情况以及他(她)所选修的课程。 ②求学生的学号、姓名、选修的课程名及成绩。
③求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。 ④查询每一门课的间接先行课(即先行课的先行课)。 2 提高操作实验
(1)按表3-1的格式.建立职工部门库和职工表、部门,.并向表中输入数据。 表3-1 职工和部门表数据
职工表 部门表 职工号 姓名 1010 1011 1012 1013 性别 男 女 女 男 年龄 20 19 22 21 部门 11 12 13 部门号 11 12 13 14 部门名称 计算机系 信管系 基础部 英语系 电话 566 578 467 李勇 刘晨 王敏 张立 (2) Transact-SQL语句表示职工和部门之间的内连接、左外部连接和右外部连接.在职工部门库中实现其数据内连接和各种外查询操作。 五、实验报告要求
1 分别用SQL和Transact-SQL写出实验操作的查询语句,对两种语言进行比较。 2 实验步骤和实验结果。 3 实验中的问题和提高。 六、注意事项
1 查询结果的几种处理方式。
1.内连接、左外部连接和右外部连接的含义及表达方法。 2.输入SQL语句时应注意,语句中均使用西文操作符号。 七、思考题
1 如何提高数据查询和连接速度。
2 对于常用的查询形式或查询结果,怎样处理好?
实验五 数据库的嵌套查询实验(2)
本实验需要1学时。 一、实验目的
使学生进一步掌握SQL Server新建查询的使用方法,加深SQL和Transact-SQL语言的嵌套查询语句的理解。 二、实验内容
在SQL Server新建查询中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 三、实验方法
将查询需求用Transact-SQL语言表示;在Sin Server新建查询的输人区中输入Transact-SQL查询语句;设置新建查询的结果区为Standard Execute(标准执行)或Executeto Grid(网格执行)方式.发布执行命令.井在结果区中查看查询结果:如果结果不正确,要进行修改.直到正确为止。 四、实验步骤 1 基本操作实验
用Transact-SQL语句表示,在学生选课库中实现其数据嵌套查询操作。 (1)求选修了高等数学的学生学号和姓名。
(2)求C1课程的成绩高于张三的学生学号和成绩。 (3)求其他系中年龄小于计算机系年龄最大者的学生。 (4)求其他系中比计算机系学生年龄都小的学生。 (5)求选修了C1课程的学生姓名。 (6)求没有选修C1课程的学生姓名。 (7)查询选修了全部课程的学生的姓名。
(8)求选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。 2 提高操作实验
将自设计的数据库应用项目中的数据查询操作分类,用Transact-SQL语句表示其中的简单、连接和嵌套查询.并通过SQL Server 新建查询实现其查询操作。 五、实验报告要求
1 分别用SQL和Transact-SQL写出实验操作的查询语句,对两种语言进行比较。
2 实验步骤和实验结果。 3 实验中的问题和提高。 六、注意事项
1输入SQL语句时应注意,语句中均使用西文操作符号。 2 语句的层次嵌套关系和括号的配对使用问题。 七、思考题
试用多种形式表示实验中的查询语句 并进行比较。
实验五 数据库的组合查询和统计查询实验(3)
本实验需要1学时 一、实验目的
使学生熟练掌握SQL Server新建查询的使用方法.加深对SQL和Transact-SQL语言的查询语句的理解。熟练掌握数据查询中的分组、统计、计算和组合的操作方法。 二、实验内容
1 分组查询实验该实验包括分组条件表达、选择组条件的表达方法。 2 使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。 3 组合查询实验。
4 计算和分组计算查询的实验。 三、实验方法
将查询需求用 Transact-SQL语言表示;在 SQL Server新建查询的输入区中输入Transact-SQL查询语句:设置新建查询的结果区为Standard Execute(标准执行)或Executeto Grid(网格执行)方式.发布执行命令 并在结果区中查看查询结果;如果结果不正确要进行修改.直到正确为止。 四、实验步骤 1 基本操作实验
在图书借阅库中实现其查询操作。
(1)查找这样的图书类别:要求类别中最高的图书定价不低于全部按类别分组的图书平均定价的2倍。
(2)求机械工业出版社出版的各类图书的平均定价,用GROUPBY表示。 (3)列出计算机类图书的书号、名称及价格.最后求出册数和总价格。
(4)列出计算机类图书的书号、名称及价格 并求出各出版社这类书的总价格.最后求出全部册数和总价格。
(5)查询计算机类和机械工业出版社出版的图书。 2 提高操作实验
将自设计的数据库应用项目中的分组、统计、计算和组合查询用Transact-SQL语句表示.并通过SQL Server 新建查询实现其查询操作。 五、实验报告要求
1 分别用SQL和Transact-SQLL写出实验操作的查询语句 对两种语言进行比较。 2 实验步骤和实验结果。 3 实验中的问题和提高。 六、注意事项
1 子句WHERE<条件>表示元组筛选条件,子句HAVING <条件>表示组选择条件。 2 组合查询的子句间不能有语句结束符。
3 子句HAVING<条件>必须和GROUP BY <分组字段>子句配合使用。 七、思考题
1 组合查询语句是否可以用其他语句代替,有什么不同?
2 使用 GROUP BY <分组条件>子句后,语句中的统计函数的运行结果有什么不同?
因篇幅问题不能全部显示,请点此查看更多更全内容