版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./一、实验目的实验3使用Select语句进行数据查询.1.观察查询结果,体会SELECT语句实际应用;2.要求学生能够在查询分析器中使用SELECT语句进行简单查询;3.熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法;4.加深对SQL语言的嵌套查询语句的理解;5.熟练掌握数据查询中的分组、统计、计算和组合的操作方法。二、实验准备1.完成实验二,成功建立了基本表;2.了解简单SELECT语句的用法;3.了解SELECT语句的GROUPBY和ORDERBY子句的作用;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*fromStudent2.select*fromStudentwhereStuNamelike'张%'3.selecttop3*fromStudentwhereStuNamelike'张%'4.select*fromCourse5.selectStuNo,StuNamefromStudentwhereStuNo='00000001'6.selecttop6*fromStudent7.select'课程编码'=CouNo,'课程名称'=CouName,'教师'=Teacher,'上课时间'=SchoolTime,'限制选课人数'=LimitNum,'报名人数'=WillNumfromCourse8.select*fromCoursewhereCouName='Linux操作系统'9.select'最小报名人数'=min<WillNum>,'最大报名人数'=MAX<WillNum>,'平均报名人数'=AVG<Willnum>fromCourse10.select*,WillNum/LimitNum'报名人数与限选人数之比'fromCourseorderbyWillNum11.selectCouNameas'课程名称'fromCoursewhereCouNoin<'004','007','013'>12.selectCouNamefromCoursewhereCouNamelike'%D%'13.selectCouNamefromCoursewhereCouNamelike'%制作%'14.Select*fromStudentwhereCouNamelike'%宝%'15.select*fromStudentwhereStuNamenotlike'刘%'16.select*fromCoursewhereWillNum<1517.select*fromCoursewhereWillNum<15andWillNum>25实验总结:通过本次实验,我学会了使用SELECT语句进行简单查询;掌握了简单表的数据查询、数据排序和数据连接查询的操作方法;加深了对SQL语言的嵌套查询语句的理解;掌握了数据查询中的分组、统计、计算和组合的操作方法。..实验4综合实验.[实验目的]通过一个实际问题的解决,来考察学生对《软件技术基础》相关理论知识掌握程度。.[实验要求]1掌握SQLServer2005或<SQLServer2008>环境使用;2掌握基本SELECT查询及其相关子句的使用;3掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。[实验步骤]1.根据给出实验课题,完成自己的设计,并编程具体实现。2.完成后举手示意让老师验收。3.回去后完成自己的实验报告。实验报告中应有实现的SQL语句以及遇到的问题及其解决方案和实验后的心得。4.在综合设计实验过程中严禁互相讨论交流。[实验内容]1.创建"学生成绩"〔XSCJ数据库。2.建立"学生情况"〔XSQK表。列名数据类型长度是否允许为空值默认值说明学号Char6N主键姓名Char8N性别Bit1N男1,女0出生日期smalldatetime4N专业Char10N所在系Char10N联系电话Char11Y输入"学生情况"〔XSQK表记录。.4.建立"课程"〔KC表。列名数据类型课程号Char课程名Char教师Char开课学期Tinyint学时Tinyint学分Tinyint5.输入"课程"〔KC表记录长度32010111是否允许为空值NNN默认值60说明主键.课程号101102103104105106107108课程名计算机原理计算方法操作系统数据库原理及应用网络基础高等数学英语VB程序设计教师陈红王颐徐格应对刚吴江江孙中文陈刚赵红韦开课学期23234113学时4545607545909070学分33453665.6.建立"成绩"〔XS_KC表。列名数据类型学号Char课程号Char成绩Tinyint长度631是否允许为空值NN默认值说明外键外键0.7.输入"成绩"<XS_KC>表记录。学号课程号0201011010201011020201011070201021010201021020201041070202021030202021080202031038.用SQL语句,完成以下内容。成绩858788586376558057.123在KC表中查询学分低于3的课程信息,并按课程号升序排列。在XS_KC表中按学号分组汇总学生的平均分,并按平均分的降序排列。在XS_KC表中查询选修了3门以上课程的学生学号。.456789按学号对不及格的成绩记录进行明细汇总。分别用子查询和连接查询,求107号课程不及格的学生信息。用连接查询在XSQK表中查询住在同一寝室的学生,即其联系电话相同查询XSQK表中所有的系名。查询有多少同学选修了课程。查询有多少同学没有选课。.10查询与杨颖同一个系的同学姓名。11查询选修了课程的学生的姓名、课程名与成绩。12统计每门课程的选课人数和最高分。13统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。代码如下:建立数据库:createdatabaseXSCJon<name=StdData1,filename='E:\DB\XSCJData.mdf',size=5,maxsize=30,filegrowth=5%>logon<name=StdLog1,filename='E:\DB\XSCJLog.ldf',size=1,maxsize=5,filegrowth=1>USEXSCJCREATETABLEXSQK<学号char<6>notnullPRIMARYKEY,姓名char<8>notnull,性别bitnotnull,出生日期smalldatetimenotnull,专业char<10>notnull,所在系char<10>notnull,联系电话char<11>>INSERTINTOXSQKVALUES<'020101','杨颖',0,1980-7-20,'计算机应用','计算机','88297147'>;INSERTINTOXSQKVALUES<'020102','方露露',0,1981-1-15,'计算机应用','计算机','88297147'>;INSERTINTOXSQKVALUES<'020103','俞奇军',1,1980-2-20,'信息管理','计算机','88297151'>;INSERTINTOXSQKVALUES<'020104','胡国强',1,1980-11-7,'信息管理','计算机','88297151'>;INSERTINTOXSQKVALUES<'020105','薛冰',1,1981-3-10,'水利工程','水利系','88297152'>;INSERTINTOXSQKVALUES<'020201','秦盈飞',0,1980-9-15,'电子商务','经济系','88297161'>;INSERTINTOXSQKVALUES<'020202','董含静',0,1980-8-7,'电子商务','经济学','88297062'>;INSERTINTOXSQKVALUES<'020203','陈伟',1,19807-20,'电子商务','经济系','88297171'>;INSERTINTOXSQKVALUES<'020204','陈新江',1,1981-1-15,'房建','水利系','88297171'>;CREATETABLEKC<课程号char<3>notnullprimarykey,课程名char<20>notnull,教师char<10>,开课学期tinyint,学时tinyintdefault60,学分tinyintnotnull,>INSERTINTOKCVALUES<'101','计算机原理','陈红',2,45,3>INSERTINTOKCVALUES<'102','计算方法','王颐',3,45,3>INSERTINTOKCVALUES<'103','操作系统','徐格',2,60,4>INSERTINTOKCVALUES<'104','数据库原理及应用','应对刚',3,75,5>INSERTINTOKCVALUES<'105','网络基础','吴江江',4,45,3>INSERTINTOKCVALUES<'106','高等数学','孙中文',1,90,6>INSERTINTOKCVALUES<'107','英语','陈刚',1,90,5>INSERTINTOKCVALUES<'108','VB程序设计','赵红韦',3,70,5>CREATETABLEXS_KC<学号char<6>notnull,课程号char<3>notnull,成绩tinyint,/*primarykey<学号,课程>,*/CONSTRAINTC1CHECK<成绩>=0and成绩<=100>,foreignkey<学号>referencesXSQK<学号>,foreignkey<课程号>referencesKC<课程号>>INSERTINTOXS_KCVALUES<'020101','101',85>INSERTINTOXS_KCVALUES<'020101','102',87>INSERTINTOXS_KCVALUES<'020101','107',88>INSERTINTOXS_KCVALUES<'020102','101',58>INSERTINTOXS_KCVALUES<'020102','102',63>INSERTINTOXS_KCVALUES<'020104','107',76>INSERTINTOXS_KCVALUES<'020102','103',55>INSERTINTOXS_KCVALUES<'020102','108',80>INSERTINTOXS_KCVALUES<'020103','103',57>查询代码:1.SELECT*FROMKCWHERE<学分<=3>ORDERBY课程号DESC2.SELECT学号,AVG<成绩>AS平均分FROMXS_KCGROUPBY学号ORDERBY平均分DESC3.SELECT学号,COUNT<DISTINCT课程号>AS选修课程总数FROMXS_KCGROUPBY学号HAVINGCOUNT<*>>=34.SELECT学号as不及格学生学号,课程名,成绩FROMXS_KC,KCWHERE<成绩<60andXS_KC.课程号=KC.课程号>5.SELECTXSQK.*,课程名,成绩FROMXSQK,KC,XS_KCWHERE<XSQK.学号=XS_KC.学号andXS_KC.课程号=KC.课程号andXS_KC.课程号='107'and成绩<60>SELECTXSQK.*FROMXSQKWHERE学号IN<SELECT学号FromXS_KCwhere<课程号='107'and成绩<60>>6.SELECTA.*FROMXSQKA,XSQKBWHERE<A.联系电话=B.联系电话ANDA.学号!=B.学号>7.SELECT所在系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论