软件技术基础综合实验报告

上传人:gbs****77 文档编号:10144113 上传时间:2020-04-10 格式:DOC 页数:9 大小:332KB
返回 下载 相关 举报
软件技术基础综合实验报告_第1页
第1页 / 共9页
软件技术基础综合实验报告_第2页
第2页 / 共9页
软件技术基础综合实验报告_第3页
第3页 / 共9页
点击查看更多>>
资源描述
一、实验目的实验 3 使用 Select 语句进行数据查询 1观察查询结果, 体会 SELECT 语句实际应用;2要求学生能够在查询分析器中使用 SELECT 语句进行简单查询;3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法;4. 加深对 SQL 语言的嵌套查询语句的理解;5. 熟练掌握数据查询中的分组、统计、计算和组合的操作方法。二、 实验准备1. 完成实验二,成功建立了基本表;2. 了解简单 SELECT 语句的用法;3. 了解 SELECT 语句的 GROUP BY 和 ORDER BY 子句的作用;4. 了解统计函数和分组统计函数的使用方法。三、实验要求完成实验,并验收实验结果提交实验报告。四、实验内容写出相应的语句。所有的查询全部用 Transact-SQL 语句实现。1.查询学生的所有信息。 2.查询所有姓张的学生的信息。 3.查询所有姓张的学生的信息,在列标题之间显示 3 行。 4.查询编号“00000001”的姓名信息。 5.查询表“Course”所有信息。 6.查询学生信息前 6 条记录。 7.将“Course”表中字段名做以下修改: 课程编码 替换 CouNo 课程名称替换 CouName 教 师 替换 Teacher 上课时间替换 SchoolTime 限制选课人数替换 LimitNum 报名人数替换 WIllNum。 8.查询Linux 操作系统课程教师信息。 9.查询“Course”表,平均报名人数。 10.查询“Course”表,报名人数与限选人数之比。 11.查询编号004,007,013课程名称。 12.查询所有含字母D的课程名程信息。 13.查询所有含制作的课程名称信息。 14.查询所有名字含“宝”的学生信息。 15.查询排除“刘”姓的所有学生信息。 16.查询报名人数小于 15 的课程信息。 17.查询报名人数大于 15 小于 25 的课程信息。 实验代码如下:1.select *from Student2.select *from Studentwhere StuName like张%3.select top 3 *from Studentwhere StuName like张%4.select *from Course5.select StuNo,StuNamefrom Studentwhere StuNo = 000000016.select top 6 *from Student7.select 课程编码 = CouNo,课程名称=CouName, 教师=Teacher,上课时间=SchoolTime , 限制选课人数 = LimitNum,报名人数=WillNumfrom Course8.select *from Course where CouName=Linux操作系统9.select 最小报名人数 = min(WillNum),最大报名人数=MAX(WillNum), 平均报名人数=AVG(Willnum)from Course10.select *,WillNum/LimitNum 报名人数与限选人数之比from Courseorder by WillNum 11.select CouName as 课程名称 from Coursewhere CouNo in(004,007,013)12.select CouNamefrom Coursewhere CouName like%D%13.select CouNamefrom Coursewhere CouName like%制作%14.Select *from Studentwhere CouName like%宝%15.select *from Studentwhere StuName not like刘%16.select * from Coursewhere WillNum1517.select * from Coursewhere WillNum25实验总结:通过本次实验,我学会了使用SELECT 语句进行简单查询;掌握了简单表的数据查询、数据排序和数据连接查询的操作方法;加深了对 SQL 语言的嵌套查询语句的理解;掌握了数据查询中的分组、统计、计算和组合的操作方法。实验 4 综合实验 【实验目的】通过一个实际问题的解决,来考察学生对软件技术基础相关理论知识掌握程度。【实验要求】1) 掌握 SQL Server 2005 或(SQL Server 2008)环境使用; 2) 掌握基本 SELECT 查询及其相关子句的使用; 3) 掌握复杂的 SELECT 查询,如多表查询、子查询、连接和联合查询。 【实验步骤】1.根据给出实验课题,完成自己的设计,并编程具体实现。 2.完成后举手示意让老师验收。3.回去后完成自己的实验报告。实验报告中应有实现的 SQL 语句以及遇到的问题及其解决方案和实验后的心得。4.在综合设计实验过程中严禁互相讨论交流。 【实验内容】 1. 创建“学生成绩”(XSCJ)数据库。 2. 建立“学生情况”(XSQK)表。 列名数据类型 长度是否允许为空值默认值 说明 学号Char6N主键姓名Char8N性别Bit1N男 1,女 0 出生日期smalldatetime4N专业Char10N所在系Char10N联系电话Char11Y 3. 输入“学生情况”(XSQK)表记录。 4. 建立“课程”(KC)表。 列名 数据类型 课程号 Char 课程名 Char 教师 Char 开课学期 Tinyint 学时 Tinyint 学分 Tinyint 5. 输入“课程”(KC)表记录 长度 3 20 10 1 1 1 是否允许为空值 N N N 默认值 60 说明 主键 课程号 101 102 103 104 105 106 107 108 课程名 计算机原理 计算方法 操作系统 数据库原理及应用 网络基础 高等数学 英语 VB 程序设计 教师 陈红 王颐 徐格 应对刚 吴江江 孙中文 陈刚 赵红韦 开课学期 2 3 2 3 4 1 1 3 学时 45 45 60 75 45 90 90 70 学分 3 3 4 5 3 6 6 5 6建立“成绩”(XS_KC)表。 列名 数据类型 学号 Char 课程号 Char 成绩 Tinyint 长度 6 3 1 是否允许为空值 N N 默认值 说明 外键 外键 0 7.输入“成绩”(XS_KC)表记录。 学号 课程号 020101 101 020101 102 020101 107 020102 101 020102 102 020104 107 020202 103 020202 108 020203 103 8.用 SQL 语句,完成以下内容。 成绩 85 87 88 58 63 76 55 80 57 1) 2) 3) 在 KC 表中查询学分低于 3 的课程信息,并按课程号升序排列。 在 XS_KC 表中按学号分组汇总学生的平均分,并按平均分的降序排列。 在 XS_KC 表中查询选修了 3 门以上课程的学生学号。 4) 5) 6) 7) 8) 9) 按学号对不及格的成绩记录进行明细汇总。 分别用子查询和连接查询,求 107 号课程不及格的学生信息。 用连接查询在 XSQK 表中查询住在同一寝室的学生,即其联系电话相同 查询 XSQK 表中所有的系名。 查询有多少同学选修了课程。 查询有多少同学没有选课。 10) 查询与杨颖同一个系的同学姓名。 11) 查询选修了课程的学生的姓名、课程名与成绩。 12) 统计每门课程的选课人数和最高分。 13) 统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。代码如下:建立数据库:create database XSCJon(name=StdData1,filename=E:DBXSCJData.mdf,size=5,maxsize=30,filegrowth=5%)log on(name=StdLog1,filename=E:DBXSCJLog.ldf,size=1,maxsize=5,filegrowth=1)USE XSCJCREATE TABLE XSQK(学号 char(6) not null PRIMARY KEY,姓名 char(8) not null,性别 bit not null,出生日期 smalldatetime not null,专业 char(10) not null,所在系 char(10) not null,联系电话 char(11)INSERT INTO XSQKVALUES(020101,杨颖,0,1980-7-20,计算机应用,计算机,88297147);INSERT INTO XSQKVALUES(020102,方露露,0,1981-1-15,计算机应用,计算机,88297147);INSERT INTO XSQKVALUES(020103,俞奇军,1,1980-2-20,信息管理,计算机,88297151);INSERT INTO XSQKVALUES(020104,胡国强,1,1980-11-7,信息管理,计算机,88297151);INSERT INTO XSQKVALUES(020105,薛冰,1,1981-3-10,水利工程,水利系,88297152);INSERT INTO XSQKVALUES(020201,秦盈飞,0,1980-9-15,电子商务,经济系,88297161);INSERT INTO XSQKVALUES(020202,董含静,0,1980-8-7,电子商务,经济学,88297062);INSERT INTO XSQKVALUES(020203,陈伟,1,19807-20,电子商务,经济系,88297171);INSERT INTO XSQKVALUES(020204,陈新江,1,1981-1-15,房建,水利系,88297171);CREATE TABLE KC(课程号 char(3) not null primary key,课程名 char(20) not null ,教师 char(10),开课学期 tinyint,学时 tinyint default 60,学分 tinyint not null,)INSERT INTO KCVALUES(101,计算机原理,陈红,2,45,3)INSERT INTO KCVALUES(102,计算方法,王颐,3,45,3)INSERT INTO KCVALUES(103,操作系统,徐格,2,60,4)INSERT INTO KCVALUES(104,数据库原理及应用,应对刚,3,75,5)INSERT INTO KCVALUES(105,网络基础,吴江江,4,45,3)INSERT INTO KCVALUES(106,高等数学,孙中文,1,90,6)INSERT INTO KCVALUES(107,英语,陈刚,1,90,5)INSERT INTO KCVALUES(108,VB程序设计,赵红韦,3,70,5)CREATE TABLE XS_KC(学号 char(6) not null,课程号 char(3) not null,成绩 tinyint,/*primary key(学号,课程),*/CONSTRAINT C1 CHECK(成绩=0 and 成绩=100),foreign key (学号) references XSQK(学号),foreign key (课程号) references KC(课程号)INSERT INTO XS_KCVALUES(020101,101,85)INSERT INTO XS_KCVALUES(020101,102,87)INSERT INTO XS_KCVALUES(020101,107,88)INSERT INTO XS_KCVALUES(020102,101,58)INSERT INTO XS_KCVALUES(020102,102,63)INSERT INTO XS_KCVALUES(020104,107,76)INSERT INTO XS_KCVALUES(020102,103,55)INSERT INTO XS_KCVALUES(020102,108,80)INSERT INTO XS_KCVALUES(020103,103,57)查询代码:1.SELECT * FROM KCWHERE (学分=34.SELECT 学号 as 不及格学生学号,课程名,成绩 FROM XS_KC,KCWHERE (成绩60 and XS_KC.课程号=KC.课程号)5.SELECT XSQK.*,课程名,成绩 FROM XSQK,KC, XS_KCWHERE ( XSQK.学号=XS_KC.学号 and XS_KC.课程号=KC.课程号 and XS_KC.课程号=107 and 成绩60)SELECT XSQK.* FROM XSQKWHERE 学号 IN ( SELECT 学号 From XS_KCwhere (课程号=107 and 成绩60)6.SELECT A.* FROM XSQK A,XSQK BWHERE (A.联系电话=B.联系电话 AND A.学号!=B.学号)7.SELECT 所在系 AS 系名 FROM XSQKGROUP BY 所在系8.select COUNT(DISTINCT XS_KC.学号) as 已选修人数 from XS_KC9.select (COUNT(DISTINCT XSQK.学号)-COUNT(DISTINCT XS_KC.学号) as 未选课人数 from XSQK,XS_KC10.select 姓名,课程名,成绩 from XSQK, XS_KC,KCwhere(XSQK.学号=XS_KC.学号 and XS_KC.课程号= KC.课程号)11.SELECT 姓名 as 与杨颖同系的学生 FROM XSQKWHERE 所在系 IN (select 所在系 from XSQKwhere 姓名=杨颖)and姓名!=杨颖12.select XS_KC.课程号,课程名,MAX(成绩) as 最高分,COUNT(DISTINCT 学号) as 选课人数from XS_KC,KCwhere(XS_KC.课程号=KC.课程号)GROUP BY XS_KC.课程号,课程名13.select 姓名,sum(成绩) AS 考试总成绩,COUNT( XS_KC.学号) as 选课门数from XSQK,XS_KCwhere(XSQK.学号=XS_KC.学号)GROUP BY XSQK.学号,姓名 实验总结:通过本次实验,我掌握了多表查询、子查询、连接和联合查询等sql查询方法,能够熟练使用SQL Server 2008进行建立、更新、查询数据库等简单操作,熟悉基本的SQL查询语法,加深了对数据库管理系统的理解。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!