1、1福建工程学院计算机与信息科学系实验报告2010 2011 学年第 2 学期 任课老师: 课程名称 数据库系统概论 班级 座号 姓名实验题目 SQL Sever 中的单表查询 实验时间 实验开始日期: 报告提交日期: 实验目的、要求一 、 实 验 题 目 :SQL Sever 中的单表查询。二、实验目的:掌握 SQL 语言的 DML 子语言,在 SQL Server2000 环境下采用 Transact-SQL的 SELECT 语句熟练掌握各种单表查询方法。三、实验要求:1.学会使用 SQL Server2000 的查询分析器,企业管理器和联机丛书。2.根据实验内容认真写好实验报告,记录的实验
2、用例及相关信息。实验设计内容(1) 按照 数据库系统概论P82 页中的学生课程数据库及数据实现以下查询:1. 查询所开课程的课号,课程名。2. 查询计算机系年龄不到 21 岁的所有男生的姓名和出生年份。3. 查询已被学生所选课的课号。4. 查询所有有成绩的学生学号和课程号,并为各列分别取相应的中文别名。 。(2) 按照数据库系统概论P75 页中的 SPJ 数据库及数据实现以下查询:1. 查询使用各种零件的数量在 100 和 300(包括 100 和 300)之间的项目号,分别采用比较大小和确定范围两种方法实现。2. 查询地点在北京 、 上海的供应商代码和供应商名字。3. 查询供应商名中包含方这
3、个汉字的供应商信息。4. 查询零件名以刀字结尾,包含三个汉字的零件信息。5. 查询使用了供应商 S1 所供应零件的工程项目数。6. 查询各个供应商所供应的零件的总数,要求对查询结果降序显示7. 查询供应了 3 个以上项目的供应商代码和供应的项目总数(别名为:count_jno) 。8. 查询使用各个供应商供应的各种零件的项目数,所供应的各种零件的总数和平均数,要求全部用上有指示含义的中文别名。SQL 语句实现要求:1.1SELECT CNO,CNAMEFROM COURSE;1.2SELECT SNAME,2011-SAGE2FROM STUDENTWHERE SAGE=100;2.2SELE
4、CT SNO,SNAMEFROM SWHERE CITY=北京 UNIONSELECT SNO,SNAMEFROM SWHERE CITY=上海;2.3SELECT *FROM SWHERE SNAME LIKE%方%;2.4SELECT *FROM PWHERE PNAME LIKE_刀;2.5SELECT COUNT(DISTINCT JNO) 项目数FROM SPJWHERE SNO=S1;2.6SELECT SNO 供应商,SUM(QTY) 总数FROM SPJ GROUP BY SNO 3ORDER BY SUM(QTY) DESC;2.7SELECT SNO,COUNT(JNO)
5、count_jnoFROM SPJGROUP BY SNOHAVING COUNT(JNO)3;2.8SELECT SNO 供应商 ,PNO 零件,COUNT(DISTINCT JNO) 项目数,SUM(QTY) 零件总数,AVG(QTY) 平均数FROM SPJGROUP BY SNO,PNO;调试过程记录出错地方:1. 题意未理解清楚;2. 分离数据库时,未断开连接,导致分离失败修改方案:1. 和他人探讨,分析歧义;2. 点击 ,再脱机分离实验结果记录以及与预期结果比较以及分析利用部分执行,观察每个部分实现情况:1.1 查询所开课程的课号,课程名 1.2 查询计算机系年龄不到21岁的所有男
6、生的姓名和出生年份 41.3 查询已被学生所选课的课号 1.4 查询所有有成绩的学生学号和课程号,并为各列分别取相应的中文别名2.1 查询使用各种零件的数量在100和300(包括100和300)之间的项目号,分别采用比较大小和确定范围两种方法实现2.2 查询地点在北京 、 上海的供应商代码和供应商名字 2.3 查询供应商名中包含方这个汉字的供应商信息 2.4 查询零件名以刀字结尾,包含三个汉字的零件信息2.5 查询使用了供应商S1所供应零件的工程项目数 52.6 查询各个供应商所供应的零件的总数,要求对查询结果降序显示 2.7 查询供应了 3 个以上项目的供应商代码和供应的项目总数(别名为:count_jno)2.8 查询使用各个供应商供应的各种零件的项目数,所供应的各种零件的总数和平均数,要求全部用上有指示含义的中文别名实验输出数据与预期数据一致,程序正确。总结以及心得体会6。指导老师评阅意见指导老师: 年 月 日填写内容时,可把表格扩大。实验的源程序代码(要有注释)附在表后。