《数据库》第五章 简单查询,模糊查询,分组查询(3学时).ppt

《数据库》第五章 简单查询,模糊查询,分组查询(3学时).ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据库》第五章 简单查询,模糊查询,分组查询(3学时).ppt

* * * * 数据查询(2) 模糊查询 分组查询 回顾 数据查询将按照一定的条件对表的记录进行逐行筛选,然后把符合要求的组合成“记录集”返回给查询的用户,记录集的结构类似于表结构 可以在查询中使用AS子句或者=重命名列名 判断一行中的数据项是否为空,使用IS NULL 使用TOP子句可以限制查询返回的行数 ORDER BY子句用来对查询的结果进行排序,缺省按照升序排列,也可以按降序(DESC)来排列,还可以按照多列来排序 在查询语句中,可以使用常量、表达式和运算符 在查询中使用函数,能够像在程序中那样处理查询得到的数据项 * 目标 在WHERE条件中使用LIKE、BETWEEN、IN进行模糊查询 在查询中使用聚合函数 使用GROUP BY进行分组查询 * 模糊查询—LIKE 查询时,字段中的内容并不一定与查询内容完全匹配,只要字段中含有这些内容 * SELECT SName AS 姓名 FROM Students WHERE SName LIKE 张% 姓名 张果老 张飞 张扬出去 思考:以下的SQL语句: SELECT * FROM 数据表 WHERE 编号 LIKE 00[^8]%[A,C]%‘ 可能会查询出的编号值为( )。 A、9890ACD B、007_AFF C、008DCG D、KK8C 模糊查询—LIKE 在大多数情况下,LIKE子句与通配符配合使用,以满足复杂的查询条件。SQL Server提供了4种通配符,百分号、下划线、 [] 和字符^。 * 通配符 描述 示例 % 包含零个或更多字符的任意字符串。 WHERE title LIKE %computer% 将查找处于书名任意位置的包含单词 computer 的所有书名。 _(下划线) 任何单个字符。 WHERE au_fname LIKE _ean 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。 [ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE [C-P]arsen 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如,Carsen、Larsen、Karsen 等。 [^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 WHERE au_lname LIKE de[^l]% 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。 模糊查询—LIKE 将通配符作为文字使用 可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。 * 符号 含义 LIKE 5[%] 5% LIKE [_]n _n LIKE [a-cdf] a、b、c、d 或 f LIKE [-acdf] -、a、c、d 或 f LIKE [ [ ] [ LIKE ] ] LIKE abc[_]d% abc_d 和 abc_de LIKE abc[def] abcd、abce 和 abcf 模糊查询—LIKE 【例1】从readers表中查询所有满足读者编号以2004开头的readers的记录。 SELECT * FROM readers WHERE 编号 LIKE ‘2004%’ 【例2】在上题的基础上,将查询范围限定在第10个字符为“3”、“6”中的一个。 SELECT * FROM readers WHERE 编号 LIKE ‘2004_____[36]’ * 模糊查询—LIKE 【例3】查询借阅信息表(borrowinf)中图书编号以A到F的字符开头的所有借阅者信息。 SELECT * FROM borrowinf WHERE 图书编号 LIKE ‘[A-F]%’ 【例4】查找books中编号不是G到Z打头的所有记录。 SELECT * FROM books WHERE 编号 LIKE ‘[^G-Z]%’ * 模糊查询—IS NULL 把某一字段中内容为空的记录查询出来 * SELECT SName As 姓名, SAddress AS 地址 FROM Students WHERE SAddress IS NULL 姓名 地址 张果老 NULL 李寻欢 NULL 令狐冲 NULL 程灵素 NULL … … 猜一猜:把Students表中某些行的SAddress字段值删掉后: —— 使用IS NULL能查询出来这些数据行吗? —— 怎么查询出这些行来? 模糊查询—BETWEEN 把某一字段中内容在特定范围内的记录查

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档