SQLServer2016数据库原理及应用(微课版) 17第四章4 4.2数据查询 (单表有条件查询)_第1页
SQLServer2016数据库原理及应用(微课版) 17第四章4 4.2数据查询 (单表有条件查询)_第2页
SQLServer2016数据库原理及应用(微课版) 17第四章4 4.2数据查询 (单表有条件查询)_第3页
SQLServer2016数据库原理及应用(微课版) 17第四章4 4.2数据查询 (单表有条件查询)_第4页
SQLServer2016数据库原理及应用(微课版) 17第四章4 4.2数据查询 (单表有条件查询)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教案(课时数:2)章节标题:4.2数据查询(单表有条件查询)教学目的:使学生掌握查询语句的基本结构,及各部分的功能重点单表有条件查询的方法教学难点:查询条件表达式教学重点:有条件查询语句的格式及各参数的意义查询条件表达式运算符号LIKE等的使用方法授课方法:教案类别:新授课实验课习题课复习提问复问内容学生姓名成绩1.查询输出的选项并不是只有表中的字段还有?2.distinct的作用?作业及预习要求1.课后习题2.完成实验预习报告3.预习:42.数据查询

课后总结:本节重点讲述以下内容:查询语句的格式及格式中各参数的含义。课堂实验存在的问题:1.degreebetween70and80与degree>70anddegree<80有什么区别?2.degree=79anddegree=89anddegree=99这个表达式用IN怎样表示?3.语句中的“不为空值”怎样表达?4.模糊查询可使用哪个谓词?模糊查询中使用的通配符“%、_”各起什么作用?

Ⅰ组织教学Ⅱ复习提问(实验总结)1.查询输出的选项并不是只有表中的字段,有些输出的内容要经过计算得出(即表达式或函数)。2.注意:distinct的作用,可以去掉输出选项中的重复值。Ⅲ讲授新课4.2.2单表有条件查询1.语法格式SELECT[ALL|DISTINCT]<选项>[AS<显示列名>][,<选项>[AS<显示列名>][,...]]FROM<表名|视图名>WHERE<条件表达式>说明:条件表达式是通过运算符连接起来的逻辑表达式。2.WHERE条件中的运算符4)字符匹配符(LIKE)在WHERE子句中使用字符匹配符LIKE或NOTLIKE可以把表达式与字符串进行比较,从而实现对字符串的模糊查询。其语法格式如下。WHERE表达式[NOT]LIKE'字符串'[ESCAPE'换码字符']其中,[NOT]为可选项,'字符串'表示要进行比较的字符串。WHERE子句中实现对字符的模糊匹配,进行模糊匹配时在'字符串'中使用通配符。在SQLServer2008中使用含有通配符时必须将字符串连同通配符用单引号(")括起来。ESCAPE'换码字符'的作用是当用户要查询的字符串本身应含有通配符时,可以使用该选项对通配符进行转义。表4-14列出了几种比较常用的通配符表示方式和说明。表4-14通配符及其说明通配符说明示例%M%:表示查询以M开头的任意字符串,如Mike。%M:表示查询以M结尾的任意字符串,如ROOM。%m%:表示查询在任何位置包含字母m的所有字符串,如man、some_单个字符_M:表示查询以任意一个字符开头,以M结尾的两位字符串,如AM,PM。H_:表示查询以H开头,后面跟任意一个字符的两位字符串,如Hi,He[]指定范围的单个字符M[ai]%:表示查询以M为开头,第二个字符是a或i的所有字符串,如Machine,Miss。[A-M]%:表示查询以A到M之间的任意字符开头的字符串,如Job,Mail[^]不在指定范围的单个字符M[^ai]%:表示查询以M开头,第二个字符不是a或i的所有字符串,如Media,Moon。[^A-M]%:表示查询不是以A到M之间的任意字符开头的字符串,如Not,Zoo提示:比较字符串是不区分大小写的,如m%和M%是相同的比较运算符。如果LIKE后面的匹配串中不含通配符,则可以用“=”(等于)运算符取代LIKE,用“<>”(不等于)运算符取代NOTLIKE。【例4-24】查询所有姓李的学生的个人信息。SELECT*FROMstudentWHEREsnameLIKE'李%'【例4-25】查询生源地不是山东省的所有学生信息。SELECT*FROMstudentWHEREsaddressNOTLIKE'%山东省%'【例4-26】查询名字中第2个字为“阳”字的学生的姓名和学号。SELECTsname,snoFROMstudentWHEREsnameLIKE'_阳%'【例4-27】查询学号为“20080322”的学生姓名和性别。SELECTsname,ssexFROMstudentWHEREsnoLIKE'20080322'以上语句等价于:SELECTsname,ssexFROMstudentWHEREsno='20080322'【例4-28】查询DB_Design课程的课程号。SELECTcnoFROMcourseWHEREcnameLIKE'DB\_Design'ESCAPE'\'其中,ESCAPE'\'短语表示“\”为换码字符,这样匹配串中紧跟在“\”后面的字符“_”不再具有通配符的含义,转义为普通的“_”字符。5)列表运算符在WHERE子句中,如果需要确定表达式的取值是否属于某一列表值之一时,就可以使用关键字IN或NOTIN来限定查询条件。其语法格式如下。WHERE表达式[NOT]IN值列表其中,NOT为可选项,当值不止一个时需要将这些值用括号括起来,各列表值之间使用逗号(,)隔开。注意:在WHERE子句中以IN关键字作为指定条件时,不允许数据表中出现NULL值,也就是说,有效值列表中不能有NULL值的数据。【例4-29】查询信息系、软件系和计算机系学生的姓名和性别。SELECTsname,ssexFROMstudentWHEREsdeptIN('计算机系','软件系','信息系')其中,条件表达式的另一种表示方法是sdept='计算机系'ORsdept='软件系'ORsdept='信息系。6)涉及空值的查询当数据表中的值为NULL时,可以使用ISNULL关键字的WHERE子句进行查询,反之要查询数据表的值不为NULL时,可以使用ISNOTNULL关键字。基本语法格式如下。WHERE字段IS[NOT]NULL【例4-30】某些学生选修课程后没有参加考试,所以有选修记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。SELECTsno,cnoFROM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论