- 1、本文档共148页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章表查询新
第四章数据查询 数据查询 4.1 单表查询 4.2 连接查询 4.3 嵌套查询 4.4 集合查询 4.5 Select语句的一般形式 语句格式 SELECT [ALL|DISTINCT] 目标列表达式 [,目标列表达式] … FROM 表名或视图名[, 表名或视图名 ] … [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ]; 说明: SELECT语句的含义是,根据WHERE子句指定的条件,从FROM子句后面的基本表或视图中找出满足条件的记录,再按照SELECT子句指定的目标列表达式,选出这些记录相应的列形成结果集返回。 其中,SELECT子句和FROM子句是必选的,而WHERE子句、GROUP BY子句、HAVING子句以及ORDER BY子句都是可选的。 4.1 单表查询 查询仅涉及一个表: 一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句 选出所有属性列: 在SELECT关键字后面列出所有列名 将目标列表达式指定为 * SELECT子句的目标列表达式可以为: 算术表达式 字符串常量 函数 列别名 4.1 单表查询 查询仅涉及一个表: 一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句 _ (下划线):代表任意单个字符。例如,a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串。 [ ]:指定范围或集合中的任何单个字符。例如,[a-f]表示在字母a~f之间(包括a和f)的任意一个字符。 [^]:不属于指定范围或集合的任何单个字符。例如,[^A-M]表示不在A~M之间的任意一个字符。 4.1 单表查询 查询仅涉及一个表: 一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句 4.1 单表查询 查询仅涉及一个表: 一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句 4.1 单表查询 查询仅涉及一个表: 一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句 Group by语句 GROUP BY子句分组: 所谓分类汇总,就是说select后边不是分类字段就是汇总的字段.分类就是和group by后边的字段一致,汇总就是有聚集函数的字段 select 后面的在聚合函數:Sum、Avg、Min、Max、Count中的列名不用出现在group by后面中,其他的列都要 数据查询 4.1 单表查询 4.2 连接查询 4.3 嵌套查询 4.4 集合查询 4.5 Select语句的一般形式 数据查询 4.1 单表查询 4.2 连接查询 4.3 嵌套查询 4.4 集合查询 4.5 Select语句的一般形式 4.3嵌套查询 嵌套查询概述 嵌套查询分类 嵌套查询求解方法 引出子查询的谓词 四、带有EXISTS谓词的子查询 1. EXISTS谓词 2. NOT EXISTS谓词 3. 不同形式的查询间的替换 4. 相关子查询的效率 带有EXISTS谓词的子查询(续) 1. EXISTS谓词 存在量词? 带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。 若内层查询结果非空,则返回真值 若内层查询结果为空,则返回假值 由EXISTS引出的子查询,其目标列表达式通常都用* ,因为带EXISTS的子查询只返回真值或假值,给出列名无实际意义 2. NOT EXISTS谓词 带有EXISTS谓词的子查询(续) 嵌套查询思路分析: 本查询涉及Student和SC关系。 在Student中依次取每个元组的SNo值,用此值去检查SC关系。 若SC中存在这样的元组,其SNo值等于此Student.SNo值,并且其CNo= ‘001,则取此Student.Name送入结果关系。 带有EXISTS谓词的子查询(续) [例11] 查询所有选修了1号课程的学生姓名。 用嵌套查询 带有EXISTS谓词的子查询(续) [例12] 查询没有选修1号课程的学生姓名。 3. 不同形式的查询间的替换 一些带EXISTS或NOT EXISTS谓词的子查询不能被其他形式的子查询等
文档评论(0)