文档详情

实验九 查询数据库.doc

发布:2017-11-19约1.88千字共7页下载文档
文本预览下载声明
实验九 查询数据库 学号:20121020023 姓名: 张东旭 专业:信息管理与信息系统 实验时间:2013年10月23日 实验地点:文汇楼机房3201  1.实验目的 熟悉SQL Server 2000查询分析器环境。 掌握基本的SELECT查询及其相关子句的使用。 掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。 2.实验内容 启动SQL Server 2000 查询分析器环境。 涉及多表的简单查询。 涉及多表的复杂查询。 3. 实验步骤 启动SQL Server查询分析器,打开“SQL查询分析器”窗口。 在“SQL查询分析器”窗口中选择要操作的数据库,如“XSCJ”数据库。 在KC表中查询学分低于3的课程信息,并按课程号升序排列。 在查询命令窗口中输入以下SQL查询命令并执行:(截图) SELECT * FROM KC WHERE KC.学分3 ORDER BY 课程号 在XS_KC表中按学号分组汇总学生的平均分,并按平均分的降序排列。(截图) SELECT 学号,平均分=AVG(成绩) FROM XS_KC GROUP BY 学号 ORDER BY 平均分 DESC 在XS_KC表中查询选修了3门以上课程的学生学号。(截图) SELECT 学号 FROM XS_KC GROUP BY 学号 HAVING COUNT(*)3 按学号对不及格的成绩记录进行明细汇总。(截图) SELECT 学号,课程号,成绩 FROM XS_KC WHERE 成绩60 ORDER BY 学号 COMPUTE COUNT(成绩) BY 学号 分别用子查询和连接查询,求107号课程不及格的学生信息。(截图) 用子查询: SELECT 学号,姓名,联系电话 FROM XSQK WHERE 学号 IN ( SELECT 学号 FROM XS_KC WHERE 课程号=’107’AND 成绩60) 用连接查询: SELECT XSQK.学号,姓名,联系电话 FROM XSQK JOIN XS_KC ON XSQK.学号=XS_KC.学号 WHERE课程号=’107’AND 成绩60 用连接查询在XSQK表中查询住在同一寝室的学生,即其联系电话相同(截图) SELECT A.学号,A.姓名,A.联系电话 FROM XSQK A JOIN XSQK B ON A.联系电话=B.联系电话 WHERE A.学号!=B.学号 请自已完成以下的查询: (写出代码,运行并截图) 查询XSQK表中所有的系名。 select distinct 所在系 from XSQK 查询有多少同学选修了课程。 select count(distinct 学号) as 选修课程人数 from XS_KC 查询有多少同学没有选课。 select count(distinct 学号) as 无选修课程人数 from XSQK where not 学号 in (select distinct 学号 from XS_KC) 查询与杨颖同一个系的同学姓名。 select 姓名 from XSQK where 所在系= (select 所在系 from XSQK where 姓名=杨颖) 查询选修了课程的学生的姓名、课程名与成绩。 select XSQK.姓名,KC.课程名,XS_KC.成绩 from XSQK,KC,XS_KC where XSQK.学号=XS_KC.学号 and XS_KC.课程号=KC.课程号 and XSQK.学号 in (select distinct 学号 from XS_KC) 统计每门课程的选课人数和最高分。 select XS_KC.课程号,count(*) as 选课人数,max(成绩) as 最高分 from KC,XS_KC where KC.课程号=XS_KC.课程号 group by XS_KC.课程号 统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。 select XSQK.姓名,count(课程号) as 选课门数,sum(成绩) as 总成绩 from XSQK,XS_KC where XSQK.学号= XS_KC.学号 group by XSQK.姓名 4、实验中的问题及解决情况 5、实验总结 (1)记录做实验过程中的体会 (2)提出对该实验的意见和改进建议
显示全部
相似文档