第五章续 分组及连接查询.ppt

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

回顾 数据查询将按照一定的条件对表的的记录进行逐行筛选,然后把符合要求的组合成“记录集”返回给查询的用户,记录集的结构类似于表结构 可以在查询中使用AS子句或者=重命名列名 判断一行中的数据项是否为空,使用IS NULL 使用TOP子句可以限制查询返回的行数 ORDER BY子句用来对查询的结果进行排序,缺省按照升序排列,也可以按降序(DESC)来排列,还可以按照多列来排序 在查询语句中,可以使用常量、表达式和运算符 在查询中使用函数,能够像在程序中那样处理查询得到的数据项 日期和时间函数的使用示例。 4.4.4 转换函数 目标 使用LIKE、BETWEEN、IN进行模糊查询 在查询中使用聚合函数 使用GROUP BY进行分组查询 进行多表联接查询 模糊查询—LIKE 查询时,字段中的内容并不一定与查询内容完全匹配,只要字段中含有这些内容 模糊查询-LIKE 示例:查询姓名叫”王**军“的学生信息 通配符: %:包含零个或多个字符的任意字符串 _下划线 :任何单个字符 [] :指定范围[a-f]或集合[acdef]中的任意单个字符[^]:不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 提问:在author表中查找以 de 开始并且其后的字母不 为l 的所有作者的姓氏 模糊查询—IS NULL 把某一字段中内容为空的记录查询出来 模糊查询—BETWEEN 把某一字段中内容在特定范围内的记录查询出来 模糊查询—IN 把某一字段中内容与所列出的查询内容列表匹配的记录查询出来 问题 聚合函数-1 聚合函数-2 问题 分组汇总 分组查询—GROUP BY 分组查询—思考 分组查询—多列分组 分组查询—再看看 分组查询—多列分组 分组查询—问题 分组查询—再看看 分组查询—HAVING 分组查询—对比 分组查询—思考 多表联接查询—问题 多表联接查询—分类 内联接(INNER JOIN) 外联接 ——左外联接 (LEFT JOIN) ——右外联接 (RIGHT JOIN) ——完整外联接(FULL JOIN) 交叉联接(CROSS JOIN) 多表联接查询—内联接-1 多表联接查询—内联接-2 多表联接查询—三表联接 多表联接查询—左外联接 多表联接查询—右外联接 3.自身连接 连接操作不仅可以在两个表之间操作,也可以是一个表与其自己进行连接,这种操作称为自身连接。 【例】 查询每个人的祖父姓名。 假定个人情况表如表所示。 要查出个人的祖父姓名, 必须将这个表做自身连接。 查询语句为: SELECT First. Name, Second. F_name FROM Person First, Person Second WHERE First.F_name=Second.Name 这里First和Second分别是第一个Person表和第二个Person表的别名。 查询结果: 张成全 张福全 李向军 李福来 自联接 案例分析1—要求 在数据库表中,数据行位置并不重要,但是一个单位中要根据奇数行和偶数行的数据来汇总,在这个汇总的基础上再得到一个数值,因此,要查询数据库表的奇数行和偶数行的总数 数据库表名:TBL 字段名:A 主键字段:IDKEY(标识列,种子:1;增长量:1) 案例分析1—分析 只能依靠标识列的值来进行判断和选取 因为数据行可能存在增加、修改和删除,因此标识列的数据值并不“完全可靠”,例如标识列值为3,并不一定是第三行,因为如果第二行被删除了,它就是第二行,实际上也是偶数行 根据我们前面使用过的SELECT…INTO,可以创建一张新表,顺便创建新的标识列,再在新的标识列上执行奇偶判断 奇数判断依据:标识列值%2不等于0;偶数判断依据:标识列值%2等于0 案例分析1—T-SQL 案例分析2—要求 一家银行发行了新的信用卡,刚开始的时候推广得很好,但是逐渐废卡也越来越多(卡上的余额少于2元,并且用户长时间不使用该卡),因此银行在二月份把这些少于2元的卡从都数据库表中删除了,但是很快问题就来了,用户发现他的卡再也不能使用而投诉,因此只能再把这些卡恢复。 案例分析2—分析 这是一个数据插入的操作,因此要使用INSERT语句来进行 这种方式的数据插入,不是固定的数据项

文档评论(0)

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

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

1亿VIP精品文档

相关文档