学习目标通过本章学习,你能够学会1.深入地讨论.ppt

学习目标通过本章学习,你能够学会1.深入地讨论.ppt

ID:50301017

大小:438.50 KB

页数:88页

时间:2020-03-12

学习目标通过本章学习,你能够学会1.深入地讨论.ppt_第1页
学习目标通过本章学习,你能够学会1.深入地讨论.ppt_第2页
学习目标通过本章学习,你能够学会1.深入地讨论.ppt_第3页
学习目标通过本章学习,你能够学会1.深入地讨论.ppt_第4页
学习目标通过本章学习,你能够学会1.深入地讨论.ppt_第5页
资源描述:

《学习目标通过本章学习,你能够学会1.深入地讨论.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学习目标:通过本章学习,你能够学会:1.深入地讨论SELECT语句的其他扩展内容,加深对SQLServer语句基本的概念理解。2.学习表的别名,多表查询的内连接、外连接和交叉连接、使用UNION子句。3.重点学习统计函数、使用GROUPBY子句、使用HAVING子句4.区别COMPUTE和COMPUTEBY子用法、学习使用嵌套查询。第7章高级查询7.1使用表的别名当表的名称太长时,为了书写上的方便简单,在SQL语言的查询语句中可以定义表的别名。[实例7.1]在对“学生信息”表用t作为表的别名。操作步骤:第7章高级查询

2、归纳分析:表的别名定义命令格式:SELECT表的别名.列名FROM表名命令说明:(1)在一个SELECT语句中,系统首先执行FROM子句,然后执行SELECT语句,所以一旦在FROM子句中定义了表的别名,尽管SELECT子句在FROM前面,也要使用别名。(2)在一个定义了别名的SELECT语句中,从FROM子句向后是依次执行的。别名的作用范围仅限于本T-SQL语句中,而其他独立的T-SQL语句无权使用这个别名。第7章高级查询[实例7.2]请看一个典型的错误例子。操作步骤:归纳分析:出现该错误的原因是FROM语句已经定

3、义了学生信息的别名为t,SELECT后的“学生信息.学号”就是错误的。而SELECT后的“班级”,将学生信息改为t,则错误消失。第7章高级查询7.2多表查询如果希望从多个表中获取查询结果,例如实例7.3,那么就需要在多个表中选择和操作数据,这正是SQL的特色之一。如果没有多表查询功能,就不得不将一个应用程序所需的所有数据集中在一个表中或是在多个表中保存相同的数据,这样就会违反关系型数据库设计的基本原则,而通过表的连接可以很轻易地从多个表中查询数据。第7章高级查询[实例7.3]从“学生信息”表中获取学生的学号、姓名、班

4、级,从“学生成绩”表中获取学生的期中成绩。操作步骤:第7章高级查询归纳分析:或许设计这个查询的目的是查询每个学生的学号、姓名、班级以及他们所对应的期末成绩。但结果却出乎意料地返回了352行数据,这显然错误。因为在“学生信息”表中共有22条记录,在“学生成绩”表中共有16条记录,两表中的记录组合个数为22*16=352,所以一共返回了352条记录,这种情况数学上称为笛卡尔乘积,也称为交叉连接,它是将两个表不加任何约束地组合起来。交叉连接后得到的结果集的行数是两个被连接表的行数的乘积。使用交叉连接将产生过多的冗余数据,所

5、以需要通过指定的列连接来避免笛卡尔积的出现。利用连接可以根据各个表之间的逻辑关系从两个或多个表中检索数据,通常使用的连接类型有内连接与外连接。第7章高级查询7.2.1内连接内连接(InnerJoin)也叫自然连接,是指将另一个表内的行数据与本表内的数据相互连接,产生的结果行数取决于参加连接的行数,也就是说在将两个表中的指定列进行比较时,仅将两个表中满足连接条件的行组合起来作为结果集。在内连接中,只有在两个表中匹配的行才能在结果集中出现。进行多表连接查询时,当两个或多个表中具有相同名称的列时,必须在要查询的列名前使用表

6、名或表的别名作为前缀,并用“.”来分隔,这样将避免出现列名不明确的错误。第7章高级查询1.在WHERE子句中指定连接[实例7.4]查询“学生信息”表中全部学生的学号、姓名和在“学生成绩”表中的课程号和期末成绩。操作步骤:第7章高级查询归纳分析:从服务器返回的数据结果中,可以发现内连接的结果是从两个或两个以上的表集合中平等地挑选出符合条件的数据,并将无法满足连接条件的数据抛弃。如在学生成绩表中学号为10105的四条记录就没有出现在上述查询结果集中。注意,如果所连接表的列中有空值,则这些空值不会互相匹配,因此不会出现在查

7、询结果中。在WHERE子句中可以使用比较运算符(=、<、>等)指定连接的条件。在两个表之间进行内连接的语法如下。第7章高级查询命令格式:SELECT表.查询列名1,……表.查询列名nFROM表1,表2WHERE表1.列名1=表2.列名1命令说明:(1)查询内容的列表前要有表名。(2)在FROM子句中指定查询数据的两个表表1与表2,表的顺序可以任意排列。(3)在WHERE子句中指定了连接的条件,当使用“=”连接时,通常也称为等值连接,它只显示第一个表和第二个表中满足连接条件的数值。第7章高级查询2.使用JOIN和ON关

8、键字指字连接条件在使用SELECT语句时,还可以使用JOIN和ON关键字建立连接条件。[实例7.5]利用JOIN…ON改写例7.4中的T-SQL语句。操作步骤:USE学生SELECT学生信息.学号,学生信息.姓名,学生成绩.课程号,学生成绩.期末成绩FROM学生信息INNERJOIN学生成绩ON学生信息.学号=学生成绩.学号第7章高级查询归纳分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。