第8章数据查询(二).ppt

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

回顾 数据查询将按照一定的条件对表的的记录进行逐行筛选,然后把符合要求的组合成“记录集”返回给查询的用户,记录集的结构类似于表结构 可以在查询中使用AS子句或者=重命名列名 判断一行中的数据项是否为空,使用IS NULL 使用TOP子句可以限制查询返回的行数 ORDER BY子句用来对查询的结果进行排序,缺省按照升序排列,也可以按降序(DESC)来排列,还可以按照多列来排序 在查询语句中,可以使用常量、表达式和运算符 在查询中使用函数,能够像在程序中那样处理查询得到的数据项 目标 使用LIKE、BETWEEN、IN进行模糊查询 在查询中使用聚合函数 使用GROUP BY进行分组查询 进行多表联结查询 模糊查询—LIKE 查询时,字段中的内容并不一定与查询内容完全匹配,只要字段中含有这些内容 模糊查询—IS NULL 把某一字段中内容为空的记录查询出来 模糊查询—BETWEEN 把某一字段中内容在特定范围内的记录查询出来 模糊查询—IN 把某一字段中内容与所列出的查询内容列表匹配的记录查询出来 问题 聚合函数-1 聚合函数-2 问题 分组汇总 分组查询—GROUP BY 分组查询—思考 分组查询—多列分组 分组查询—再看看 分组查询—多列分组 分组查询—问题 分组查询—再看看 分组查询—HAVING 分组查询—对比 分组查询—思考 多表联结查询—问题 多表联结查询—分类 内联结(INNER JOIN) 外联结 ——左外联结 (LEFT JOIN) ——右外联结 (RIGHT JOIN) ——完整外联结(FULL JOIN) 交叉联结(CROSS JOIN) 多表联结查询—内联结-1 多表联结查询—内联结-2 多表联结查询—三表联结 多表联结查询—左外联结 多表联结查询—右外联结 案例分析1—要求 在数据库表中,数据行位置并不重要,但是一个单位中要根据奇数行和偶数行的数据来汇总,在这个汇总的基础上再得到一个数值,因此,要查询数据库表的奇数行和偶数行的总数 数据库表名:TBL 字段名:A 主键字段:IDKEY(标识列,种子:1;增长量:1) 案例分析1—分析 只能依靠标识列的值来进行判断和选取 因为数据行可能存在增加、修改和删除,因此标识列的数据值并不“完全可靠”,例如标识列值为3,并不一定是第三行,因为如果第二行被删除了,它就是第二行,实际上也是偶数行 根据我们前面使用过的SELECT…INTO,可以创建一张新表,顺便创建新的标识列,再在新的标识列上执行奇偶判断 奇数判断依据:标识列值%2不等于0;偶数判断依据:标识列值%2等于0 案例分析1—T-SQL 总结 使用LIKE、BETWEEN、IN关键字,能够进行模糊查询 —— 条件不明确的查询 聚合函数能够对列生成一个单一的值,对于分析和统计通常非常有用 分组查询是针对表中不同的组,分类统计和输出,GROUP BY子句通常会结合聚合函数一起来使用 HAVING子句能够在分组的基础上,再次进行筛选 多个表之间通常使用联结查询 最常见的联结查询是内联结(INNER JOIN),通常会在相关表之间提取引用列的数据项 SELECT A, IDENTITY(int,1,1) AS ID INTO TEMPTABLE FROM TBL SELECT SUM(A) AS 奇数列汇总 FROM TEMPTABLE WHERE ID%2 0 SELECT SUM(A) FROM AS 偶数列汇总 FROM TEMPTABLE WHERE ID%2 = 0 第七章 数据查询(2) 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 SELECT SName As 姓名 SAddress AS 地址 FROM Students WHERE SAddress IS NULL 姓名 地址 张果老 NULL 李寻欢 NULL 令狐冲 NULL 程灵素 NULL … … 猜一猜:把Students表中某些行的SAddress字段值删掉后: —— 使用IS NULL能查询出来这些数据行吗? —— 怎么查询出这些行来? SELECT StudentID, Score FROM SCore WHERE Score BETWEEN 60 AND 80 StudentID Score 7 77 8 61 11 76 17 64 … … SEL

文档评论(0)

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

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

1亿VIP精品文档

相关文档