数据库应用技术——SQL Server篇 教学课件 ppt 作者 徐守祥 第04章

上传人:E**** 文档编号:89375770 上传时间:2019-05-24 格式:PPT 页数:42 大小:269KB
返回 下载 相关 举报
数据库应用技术——SQL Server篇 教学课件 ppt 作者  徐守祥 第04章_第1页
第1页 / 共42页
数据库应用技术——SQL Server篇 教学课件 ppt 作者  徐守祥 第04章_第2页
第2页 / 共42页
数据库应用技术——SQL Server篇 教学课件 ppt 作者  徐守祥 第04章_第3页
第3页 / 共42页
数据库应用技术——SQL Server篇 教学课件 ppt 作者  徐守祥 第04章_第4页
第4页 / 共42页
数据库应用技术——SQL Server篇 教学课件 ppt 作者  徐守祥 第04章_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《数据库应用技术——SQL Server篇 教学课件 ppt 作者 徐守祥 第04章》由会员分享,可在线阅读,更多相关《数据库应用技术——SQL Server篇 教学课件 ppt 作者 徐守祥 第04章(42页珍藏版)》请在金锄头文库上搜索。

1、第 4 章 数 据 查 询,4.1 简单SELECT语句 4.2 SELECT语句的统计功能 4.3 SELECT语句中的多表连接 4.4 子 查 询 4.5 使用企业管理器进行数据查询与维护,通过本章的学习,读者应该掌握以下内容: 数据查询的各种语句 运用企业管理器和基本的SELECT语句查询表中的数据 数据维护的基本方法,4.1 简单SELECT语句,4.1.1 SELECT语句的语法格式 SELECT语句的基本语法格式如下。,SELECT 列名的列表 INTO 新表名 FROM 表名与视图名列表 WHERE 条件表达式 GROUP BY 列名的列表 HAVING 条件表达式 ORDER

2、BY 列名1ASC|DESC,列名2ASC|DESC, 列名nASC|DESC,4.1.2 基本的SELECT语句 SELECT语句的基本形式如下。 SELECT 选取的列 FROM 表的列表 WHERE 查询条件 简单地可以说明为,按照指定的条件由指定的表中查询出指定的字段。,4.1.3 使用INTO子句 使用INTO子句允许用户定义一个新表,并且把SELECT子句的数据插入到新表中,其语法格式如下。 SELECT 选取的列 INTO 新表名 FROM 表的列表 WHERE 查询条件,4.1.4 使用WHERE子句 WHERE子句确定了查询的条件,表4-1给出了组成查询条件表达式的运算符。,

3、1比较运算符 2范围运算符 3列表运算符 4模糊匹配运算符 5空值运算符 6逻辑运算符,4.1.5 使用ORDER BY子句 查询结果集中记录的顺序是按它们在表中的顺序进行排列的,可以使用ORDER BY子句对查询结果重新进行排序,可以规定升序(从低到高或从小到大)或降序(从高到低或从大到小),方法是使用关键字ASC(升序)或DESC(降序)。,如果省略ASC或DESC,系统则默认为升序。可以在ORDER BY子句中指定多个列,检索结果首先按第1列进行排序,第1列值相同值的那些数据行,再按照第2列排序,如此等等。ORDER BY要写在WHERE子句的后面。,4.2 SELECT语句的统计功能,

4、SELECT语句中的统计功能是对查询结果集进行求和、求平均值、求最大最小值等操作。统计的方法是通过集合函数和GROUP BY子句、COMPUTE子句进行组合来实现的。,4.2.1 使用集合函数 集合函数是在查询结果记录的列集上进行各种统计运算,运算的结果形成一条汇总记录。,1求和函数SUM与求平均值函数AVG SUM和AVG是数值型列值的求和与求平均值函数,它们只能用于数值型字段,而且忽略列值为NULL的记录。,2最大值函数MAX与最小值函数MIN MAX和MIN函数分别用来返回指定列表达式中的最大值和最小值,忽略列值为NULL的记录,列表达式中的列可以是任何可排序的类型。,3计数函数COUN

5、T COUNT函数用于统计查询结果集中记录的个数,语法上,“*”用于统计所有记录的个数,ALL用于统计指定列的列值非空的记录个数,DISTINCT用于统计指定列的列值非空且不重复的记录个数。默认值为ALL。,4.2.2 使用GROUP BY 子句 GROUP BY子句就能够实现这种统计,它按照指定的列,对查询结果进行分组统计,该子句写在WHERE子句的后面。注意:SELECT子句中的选择列表中出现的列,或者包含在集合函数中,或者包含在GROUP BY子句中,否则,SQL Server将返回错误信息。语法格式如下。,GROUP BY 列名HAVING 条件表达式 “HAVING 条件表达式“选项

6、是对生成的组进行筛选。,4.2.3 使用COMPUTE 子句 使用COMPUTE BY子句,它对BY后面给出的列进行分组显示,并计算该列的分组小计。使用COMPUTE BY子句时必须使用ORDER BY对COMPUTE BY中指定的列进行排序。语法格式如下。 COMPUTE 集合函数 BY 列名,4.3 SELECT语句中的多表连接,在实际应用中,数据查询往往会涉及到多个表,这就需要将多个表连接起来进行查询。这种连接分为交叉连接、内连接、外连接和自连接4种。,图4-7 连接要使用的表和数据,4.3.1 交叉连接 SELECT 列名列表 FROM 表名1 CROSS JOIN 表名2 或者 SE

7、LECT 列名列表 FROM 表名, 表名2 交叉连接的结果是两个表的笛卡儿积,在实际应用中一般是没有意义的,但在数据库的数学模式上有重要的作用。,4.3.2 内连接 内连接就是只包含满足连接条件的数据行,是将交叉连接结果集按照连接条件进行过滤的结果,也称自然连接。连接条件通常采用“主键=外键”的形式。内连接有以下两种语法格式。,SELECT 列名列表 FROM 表名1 INNER JOIN 表名2 ON 表名1.列名=表名2.列名 或 SELECT 列名列表 FROM 表名1, 表名2 WHERE 表名1.列名=表名2.列名,4.3.3 外连接 外连接根据连接时保留表中记录的侧重不同分为“左

8、外连接”、“右外连接”和“全外连接”。,1左外连接 将左表中的所有记录分别与右表中的每条记录进行组合,结果集中除返回内部连接的记录以外,还在查询结果中返回左表中不符合条件的记录,并在右表的相应列中填上NULL,由于BIT类型不允许为NULL,就以0值填充。左外连接的语法格式如下。 SELECT 列名列表 FROM 表名1 AS A LEFT OUTER JOIN 表名2 AS B ON A.列名=B.列名,2右外连接 和左外连接类似,右外连接是将左表中的所有记录分别与右表中的每条记录进行组合,结果集中除返回内部连接的记录以外,还在查询结果中返回右表中不符合条件的记录,并在左表的相应列中填上NU

9、LL,由于BIT类型不允许为NULL,就以0值填充。右外连接的语法格式如下。 SELECT 列名列表 FROM 表名1 AS A RIGHT OUTER JOIN 表名2 AS B ON A.列名=B.列名,3全外连接 全外连接是将左表中的所有记录分别与右表中的每条记录进行组合,结果集中除返回内部连接的记录以外,还在查询结果中返回两个表中不符合条件的记录,并在左表或右表的相应列中填上NULL,BIT类型以0值填充。全外连接的语法格式如下。 SELECT 列名列表 FROM 表名1 AS A FULL OUTER JOIN 表名2 AS B ON A.列名=B.列名,4.3.4 自连接 自连接就

10、是一个表的两个副本之间的内连接。表名在FROM子句中出现两次,必须对表指定不同的别名,在SELECT子句中引用的列名也要使用表的别名进行限定。,4.3.5 合并结果集 UNION运算符用于将两个或多个检索结果合并成一个结果,当使用UNION时,需遵循以下两个规则。 (1)所有查询中的列数和列的顺序必须相同。 (2)所有查询中按顺序对应列的数据类型必须兼容。,4.4 子 查 询,在SQL语言中,当一个查询语句嵌套在另一个查询的查询条件之中时,称为子查询。子查询总是写在圆括号中,可以用在使用表达式的任何地方。,4.4.1 比较测试中的子查询 比较测试中的子查询是指父查询与子查询之间用比较运算符进行

11、连接。但是用户必须确切地知道子查询返回的是一个单值,否则数据库服务器将报错。,4.4.2 集合成员测试中的子查询 集合成员测试中的子查询是指父查询与子查询之间用IN或NOT IN进行连接,判断某个属性列值是否在子查询的结果中,通常子查询的结果是一个集合。,4.4.3 存在性测试中的子查询 存在性测试中的子查询只是检查子查询返回的结果集是否为空,使用的关键字为EXISTS或NOT EXISTS,它产生逻辑真值“TRUE”或假值“FALSE”。例如,如果使用“EXISTS”进行测试,并且子查询返回的结果集不空,则测试的结果为真值“TRUE”。,4.4.4 批量比较测试中的子查询 1使用ANY关键字

12、的比较测试 通过比较运算符将一个表达式的值或列值与子查询返回的一列值中的每一个进行比较,只要有一次比较的结果为TRUE,则ANY测试返回TRUE。,2使用ALL关键字的比较测试 通过比较运算符将一个表达式的值或列值与子查询返回的一列值中的每一个进行比较,只要有一次比较的结果为FALSE,则ALL测试返回FALSE。,4.4.5 使用子查询向表中添加多条记录 使用INSERTSELECT语句可以一次向表中添加多条记录,语法格式如下。 INSERT 表名(字段列表) SELECT 字段列表 FROM 表名 WHERE 条件表达式,4.5 使用企业管理器进行数据查询与维护,对表中数据的维护操作,可以在企业管理器中的查询设计器下进行,如图4-20所示。,图4-20 启动查询设计器,4.5.1 查询设计器简介,4.5.2 查询设计器的应用实例 例4-39 由客户信息表中,给出所有深圳和上海客户的所有客户信息,显示顺序按照姓名的升序排序。,图4-22 查询设计器的开始界面,图4-23 使用查询设计器进行查询,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号