版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQLServer2005实用教程第5章表中数据的操作第5章表中数据的操作——例题解答例5-2-1:假设T_STUDENT表中的数据如表5-2-2所示。表5-2-2T_STUDENT表中的数据S_NUMBERS_NAMESEXBIRTHDAYPOLITYB0451101张小航男1984-12-20党员B0451102王文广男1985-5-16团员B0451103李艳红女1984-6-12群众B0451104张丽霞女1984-7-22群众B0451105王强男1984-11-26党员B0451106张保田男1984-7-5群众B0451107李博文男1984-8-9团员B0451108刘芳芳女1985-4-14党员B0451109李海男1984-2-16团员B0451110常江宁男1984-3-21群众(1)查询表中的所有记录程序如下:SELECT*FROMT_STUDENT(2)查询前3条记录的S_NUMBER、S_NAME和BIRTHDAY字段程序如下:SELECTTOP3S_NUMBER,S_NAME,BIRTHDAYFROMT_STUDENT(3)查询所有记录的SEX字段,并去掉重复值程序如下:SELECTDISTINCTSEXFROMT_STUDENT(4)查询所有记录的S_NUMBER(别名为学号)、S_NAME(别名为姓名)和BIRTHDAY(别名为出生日期)字段程序如下:SELECT学号=S_NUMBER,S_NAMEAS姓名,BIRTHDAY出生日期FROMT_STUDENT说明:在上例中使用了别名的三种定义方法,分别为:列别名=列名列名AS列别名列名列别名注意:列别名的使用范围:列别名只在定义的语句中有效。(5)查询得到每个学生的年龄程序如下:SELECTS_NAME,YEAR(GETDATE())-YEAR(BIRTHDAY)AS年龄FROMT_STUDENT说明:上面的SELECT语句中使用到了两个系统函数,一个是YEAR()函数,它完成的功能是求一个日期型数据的年份,另一个是GETDATE()函数,它完成的功能是获取当前的系统日期。(6)统计男同学的人数程序如下:SELECTcount(*)FROMT_STUDENTWHERESEX='男'例5-2-2:使用INTO子句创建一个新表(T_STUDENT1)。程序如下:USESTUDENTGOSELECTTOP20PERCENTS_NUMBER,S_NAME,POLITYINTOT_STUDENT1FROMT_STUDENTSELECT*FROMT_STUDENT1例5-2-3:假设T_SCORE表中的数据如表5-2-3所示。表5-2-3T_SCORE表中的数据S_NUMBERC_NUMBERSCOREB04511011001021882B04511021001021875B04511031001021893B04511041001021881B04511051001021868B04511061001021877B04511071001021852B04511081001021885B04511091001021873B04511101001021887B04511013002021577B04511023002021584B04511033002021556(1)查询表T_SCORE和表T_STUDENT中的数据,满足条件:T_STUDENT.S_NUMBER=T_SCORE.S_NUMBER程序如下:USESTUDENTgoSELECTT_STUDENT.S_NUMBER,S_NAME,C_NUMBER,SCOREfromT_STUDENT,T_SCOREwhereT_STUDENT.S_NUMBER=T_SCORE.S_NUMBER说明:在进行多表查询时,为了明确指定表中的列,可以使用如下格式:表名.列名当两个或多个数据表中有相同名称的字段时,必须要在字段的前面加上“表名.”作为此字段的前缀,否则由于系统不清楚应该使用哪个数据表中的同名字段,因此无法执行此查询,会提示错误信息。(2)上述查询也可以用以下方法实现:联合查询表T_SCORE和表T_STUDENT中的数据。useSTUDENTgoselectT_STUDENT.S_NUMBER,S_NAME,C_NUMBER,SCOREfromT_STUDENTinnerjoinT_SCOREonT_STUDENT.S_NUMBER=T_SCORE.S_NUMBER例5-2-4:从表T_SCORE中查询不及格学生的信息。程序如下:USESTUDENTGOSELECT*FROMT_SCOREWHERESCORE<60例5-2-5:从表T_STUDENT中查询是党员的男学生的信息。程序如下:USESTUDENTGOSELECT*FROMT_STUDENTWHEREPOLITY='党员'ANDSEX='男'例5-2-6:从表T_SCORE中查询成绩在80~90分的学生的信息。程序如下:USESTUDENTGOSELECT*FROMT_SCOREWHERESCOREBETWEEN80AND90例5-2-7:从表T_STUDENT中查询所有非党员的学生信息。程序如下:USESTUDENTGOSELECT*FROMT_STUDENTWHEREPOLITYin('团员','群众')例5-2-8:从表T_STUDENT中查询所有姓张的学生信息。程序如下:USESTUDENTGOSELECT*FROMT_STUDENTWHERES_NAMElike'张%'例5-2-9:对表T_STUDENT中的记录按性别进行分组,查询相应的人数。程序如下:USESTUDENTGOSELECTSEX,count(SEX)人数FROMT_STUDENTGROUPBYSEX例5-2-10:在表T_SCORE中求选修了两门及以上课程的学生学号。程序如下:USESTUDENTGOSELECTS_NUMBER,COUNT(C_NUMBER)选修课程数FROMT_SCOREGROUPBYS_NUMBERHAVINGCOUNT(C_NUMBER)>=2例5-2-11:在表T_SCORE中查询选修了“10010218”课程的学生成绩,并按成绩的降序进行排序。程序如下:USESTUDENTGOSELECT*FROMT_SCOREWHEREC_NUMBER='10010218'ORDERBYSCOREDESC例5-2-12:假设表T_STUDENT1中的数据如表5-2-4所示。对表T_STUDENT1和表T_STUDENT进行联合查询。表5-2-4T_STUDENT1中的数据S_NUMBERS_NAMESEXBIRTHDAYPOLITY0554101刘洋男1984-10-14党员0554102李志娟女1984-11-12团员0554103赵雪梅女1984-6-25团员0554104王华女1984-9-11团员0554105张金辉男1985-5-16群众0554106贾波男1984-10-3党员0554107周萍女1984-7-12群众0554108马帅男1984-5-22团员0554109唐芸女1985-8-25群众0554110王华男1984-1-20团员程序如下:USESTUDENTGOSELECT*FROMT_STUDENT1UNIONSELECT*FROMT_STUDENT例5-2-13:查询选修了两门及以上课程的学生的基本信息。程序如下:USESTUDENTGOSELECT*FROMT_STUDENTWHERES_NUMBER=ANY(SELECTS_NUMBERFROMT_SCOREGROUPBYS_NUMBERHAVINGCOUNT(C_NUMBER)>=2)例5-3-1:利用INSERT语句向表T_STUDENT中插入一行数据,只包含S_NUMBER、S_NAME和BIRTHDAY三列。程序清单如下:USESTUDENTGOINSERTINTOT_STUDENT(S_NUMBER,S_NAME,BIRTHDAY)VALUES('B0451111','张宇天','85-10-20')例5-3-2:利用INSERT语句向表T_STUDENT中插入一行数据,所有的字段都要给出相应的值。程序清单如下:USESTUDENTGOINSERTT_STUDENTVALUES('B0451112','赵源','男','84-5-16','团员')说明:如果向一个表中的所有字段都插入数据值,则既可以列出所有字段的名称,也可以省略不写,如上题所示,此时要求给出的值的顺序要与数据表的结构相对应。例5-3-3:利用INSERT语句向表T_STUDENT中插入一批数据,数据来源于另一个已有的数据表。程序清单如下:USESTUDENTGOINSERTINTOT_STUDENT(S_NUMBER,S_NAME,SEX,BIRTHDAY,POLITY)SELECTS_NUMBER,S_NAME,SEX,BIRTHDAY,POLITYFROMT_STUDENT1例5-4-1:一个带有WHERE条件的修改语句。程序清单如下:USESTUDENTGOUPDATET_STUDENTSETS_NUMBER='G9823117',POLITY='党员'WHERES_NAME='张宇天'例5-4-2:一个简单的修改语句。程序清单如下:USESTUDENTGOUPDATET_STUDENT1SETPOLITY='党员'说明:如果没有WHERE子句,则UPDATE将会修改表中的每一行数据。例5-5-1:一个简单的删除语句。程序如下:USESTUDENTGODELETEFROMT_STUDENT1WHERES_NAME='王华'例5-5-2:一个没有WHERE条件的删除语句。程序如下:USESTUDENTGO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 延安大学《中国当代文学(二)》2022-2023学年第一学期期末试卷
- 烟台理工学院《汽车专业英语》2023-2024学年第一学期期末试卷
- 建设安全和谐的工作环境计划
- 二年级数学(上)计算题专项练习汇编
- 徐州工程学院《民间艺术创新设计》2023-2024学年第一学期期末试卷
- 如何跟踪会计工作计划的执行情况
- 实施零基预算管理的方法计划
- 爱与关怀构建班级氛围计划
- 信阳师范大学《中国古典舞基础训练》2023-2024学年第一学期期末试卷
- 信阳师范大学《工笔花鸟临摹》2022-2023学年第一学期期末试卷
- 《中医情志养生学》考试复习题库(含答案)
- 《手部防护培训》课件
- 广东省茂名市崇文学校2023-2024学年九年级上学期期末英语试卷(无答案)
- 智能化安装合同补充协议
- 京东管理培训生
- 北京市西城区2023-2024学年六年级上学期语文期末试卷
- 化学与生活2023-2024-2学习通超星期末考试答案章节答案2024年
- 畜禽市场管理制度5则范文
- 江苏省南通市如皋市十四校联考2024-2025学年高三上学期教学质量调研(二)数学试题(含解析)
- 2024-2025学年第一学期高一期中物理试卷
- 2024年人教版八年级地理上册期末考试卷(附答案)
评论
0/150
提交评论