数据库学习教程.pptx
《数据库学习教程.pptx》由会员分享,可在线阅读,更多相关《数据库学习教程.pptx(196页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习目标 数据库系统作为数据存储的仓库,同时还需要担当起数据管理、维护的角色。第1页/共196页学习目标包括数据的入库和出库,前面学习了数据入库时需要作的相应工作,在本章中,将学习如何在数据库中查找数据并将该部分数据“出库”,使这些数据以一定的格式和排列方法展现给用户,并且掌握如何增加检索数据易读性的方法,比如排序在此基础上,还将学习更加复杂的技巧分组与汇总。第2页/共196页学习目标掌握这些的单表查询技巧,将为应用程序提供最强的数据层的支持,减少逻辑层的负担。结合以前学习的主键和外键等基础知识,通过本章学习,将逐步掌握按照功能需求熟练检索出符合要求的数据并将其按照指定格式展现给用户或者应用程
2、序。第3页/共196页本章要点 简单查询语句查询语句的统计功能数据的联接子查询第4页/共196页简单查询语句 在创建查询时,需要输入相应的查询语句。基本的SELECT语句 选择数据列 使用TOP和DISTINCT 使用列别名 第5页/共196页简单查询语句使用计算列 使用WHERE子句 使用ORDER BY子句 第6页/共196页基本的SELECT语句 先看一个最简单的查询实例。【例4-1】查询Readers表中所有记录的信息(光盘:源文件第4章例4-1)。第7页/共196页基本的SELECT语句 USE LibraryGOSELECT*FROM ReadersGO在查询分析器中输入并运行上述
3、代码。第8页/共196页最简单的查询语句第9页/共196页基本的SELECT语句例4-1中的SELECT语句的作用就是查询Readers表中的全部信息,其中*表示查询表中的所有字段,此时,显示结果集中的列的顺序和创建表时的顺序一致。当然,要显示指定的列,也可以将所有的列名在SELECT关键字后列出。第10页/共196页选择数据列 如果要查询表中的部分列,可以将要显示的列名在SELECT关键字后依次列出,列名与列名之间用英文逗号隔开,列的顺序可以根据需要指定。【例4-2】查询Readers表中所有读者的编号、姓名和登记日期(光盘:源文件第4章例4-2)。第11页/共196页选择数据列 USE L
4、ibraryGOSELECT 读者编号,姓名,登记日期FROM ReadersGO在查询分析器中输入并运行上述代码。第12页/共196页在表中选择数据列查询第13页/共196页使用TOP和DISTINCT 使用TOP子句 使用DISTINCT子句 第14页/共196页使用TOP子句在查询表中数据时,用户可以根据需要限制返回的行数。方法是在SELECT语句的字段列表前面使用TOP n子句,则查询结果中只显示表中前n条记录;如果在字段列表前使用TOP n PERCENT子句,则查询结果中只显示前n%条记录。第15页/共196页使用TOP子句【例4-3】查询Readers表中的前5条记录(光盘:源文
5、件第4章例4-3)。USE LibraryGOSELECT TOP 5*FROM ReadersGO第16页/共196页使用TOP子句在查询分析器中输入并运行上述代码,执行结果如下。第17页/共196页使用DISTINCT子句 对表只选择部分列查询时,可能会出现重复行。如果要消除结果集中的重复行,可以在字段列表前面加上DISTINCT关键字。【例4-4】查询Books表中所有的出版社(光盘:源文件第4章例4-4)。第18页/共196页使用DISTINCT子句USE LibraryGOSELECT 出版社FROM BooksGO上述代码的执行结果如下图,可以看出结果集中有重复行。第19页/共19
6、6页 没有消除重复行的查询第20页/共196页使用DISTINCT子句下面的代码就消除了重复行,执行结果如下图所示。USE LibraryGOSELECT DISTINCT 出版社 FROM BooksGO第21页/共196页消除重复行的查询第22页/共196页使用列别名 默认结果集中显示的列标题就是在创建表时使用的列名。但是,有时也可以给列标题指定别名,以增加结果集的可读性。为结果集的列标题指定别名,可以使用以下两种格式。第23页/共196页使用列别名 SELECT 列别名=原列名 FROM 数据源SELECT 原列名 AS 列别名 FROM 数据源第24页/共196页使用列别名【例4-5】
7、查询BookCateGory表中所有记录的类编号和类名称。其中“类编号”列标题指定别名为“图书种类编号”,“类名称”列标题指定别名为“图书种类名称”(光盘:源文件第4章例4-5)。第25页/共196页使用列别名USE LibraryGOSELECT 类编号 AS 图书种类编号,类名称 AS 图书种类名称 FROM BookCateGOryGO在查询分析器中输入并运行上述代码。第26页/共196页使用列别名第27页/共196页使用计算列 使用SELECT语句对列进行查询时,在结果中可以输出对列值计算后的值,即结果集中的列不是表中现成的列,而是由表中的一个或多个列计算出来的。【例4-6】查询Boo
8、ks表中每本书的书名和打过8折以后的价格(光盘:源文件第4章例4-6)。第28页/共196页使用计算列USE LibraryGOSELECT 图书名,价格*0.8 AS 折后价格FROM BooksGO第29页/共196页使用计算列因为结果集中由计算得到的列是没有列名的,所以本例中为其指定列名为“折后价格”,以增加结果集的可读性。在查询分析器中输入并运行上述代码。第30页/共196页使用计算列第31页/共196页使用WHERE子句 如果只希望得到表中满足特定条件的一些记录,用户可以在查询语句中使用WHERE子句。在WHERE子句中,组成条件表达式的运算符有6种。第32页/共196页WHERE子
9、句中的运算符 运算符分类运 算 符意 义比较运算符、=、=、=、!=、!、!、=、=、=、!=、!和!,其中“”或“!=”表示不等于,“!”表示不大于,“!20GO第39页/共196页比较运算符在查询分析器中输入并运行上述代码,执行结果如下图。第40页/共196页范围运算符 范围运算符用来判断列值否在指定的范围内。范围运算符包括BETWEENAND和NOT BETWEENAND。该运算符的语法格式如下:列表达式 NOT BETWEEN 起始值 AND 终止值第41页/共196页范围运算符 如果列表达式的值在起始值和终止值之间,则运算结果为TRUE,否则为FALSE。使用NOT时,运算结果刚好相
10、反。第42页/共196页范围运算符【例4-8】查询Books表中在2005年期间上架的图书的编号、图书名、作者及上架时间(光盘:源文件第4章例4-8)。第43页/共196页指定查询范围第44页/共196页列表运算符 列表运算符用来判断给定的列值是否在所给定的子列表中。列表运算符包括IN和NOT IN。该运算符的语法格式如下:列表达式 NOT IN(列值1,列值n)第45页/共196页列表运算符如果列表达式的值等于子列表中的某个值,则运算结果为TRUE,否则运算结果为FALSE。使用NOT时,运算结果刚好相反。【例4-9】查询Books表中飞天、新宇两个出版社的图书的编号、图书名及出版社(光盘:
11、源文件第4章例4-9)。第46页/共196页使用IN确定查询值第47页/共196页模式匹配运算符 在实际应用中,经常需要根据一些不确定的信息来进行模糊查询。模式匹配运算符LIKE和NOT LIKE可以实现这类查询,其中LIKE表示字符串表达式的值与匹配串相符,NOT LIKE则相反。其一般语法格式如下:字符串表达式 NOT LIKE 第48页/共196页模式匹配运算符其中匹配串可以是一个完整的字符串,也可以是含有通配符的字符串。第49页/共196页通配符说明 通 配 符说 明%代表0个或多个字符_(下划线)代表单个字符指定范围(如a-f、0-9)或集合(如abcdef)中的任何单个字符指定不属
12、于范围(如a-f、0-9)或集合(如abcdef)中的任何单个字符第50页/共196页模式匹配运算符【例4-10】查询Readers表中姓“张”的读者的信息(光盘:源文件第4章例4-10)。通配符字符串张%的含义是第一个汉字是“张”的字符串。第51页/共196页模糊查询第52页/共196页空值运算符 数据库中的数据一般都应该是有意义的,但有些列的值可能暂时不知道或不确定,这时可以不输入该列的值,那么称该列的值为空值,通常用NULL表示。空值与0或空格是不一样的。空值运算符IS NULL和NOT IS NULL用来判断指定的列值是否为空。第53页/共196页空值运算符 其语法格式如下:列表达式
13、NOT IS NULL【例4-11】查询Readers表中住址为空的读者的编号、姓名、性别和住址(光盘:源文件第4章例4-11)。在查询分析器中输入并运行上述代码。第54页/共196页查询空值第55页/共196页逻辑运算符 用户可以使用逻辑运算符AND、OR和NOT连接多个查询条件,实现多重条件查询。逻辑运算符语法格式如下:NOT 逻辑表达式 AND|OR NOT 逻辑表达式第56页/共196页逻辑运算符【例4-12】要求用逻辑运算符实现例4-8中的查询(光盘:源文件第4章例4-12)。第57页/共196页逻辑运算符 USE LibraryGOSELECT 图书编号,图书名,作者,上架时间FR
14、OM BooksWHERE 上架时间=2005-01-01 AND 上架时间=2005-12-31GO第58页/共196页逻辑运算符 上述代码的执行结果和例4-8相同。第59页/共196页逻辑运算符【例4-13】要求用逻辑运算符实现例4-9中的查询(光盘:源文件第4章例4-13)。USE LibraryGOSELECT 图书编号,图书名,出版社第60页/共196页逻辑运算符FROM BooksWHERE 出版社=飞天 OR 出版社=新宇GO上述代码的执行结果和例4-9相同。第61页/共196页使用IN确定查询值第62页/共196页使用ORDER BY子句 通常查询结果集中的记录的顺序是它们在表
15、中的顺序,但有时用户希望查询结果集中的记录按某种顺序显示。可以通过ORDEY BY子句改变查询结果集中记录的显示顺序。ORDER BY子句的语法格式为:ORDER BY 列名 ASC|DESC,n第63页/共196页使用ORDER BY子句 其中ASC表示按升序排列,DESC按降序排列,默认为ASC。当按多列排序时,先按写在前面的列排序,当前面的列值相同时,再按后面的列排序。第64页/共196页使用ORDER BY子句【例4-14】查询Books表中“新宇”出版社图书的编号、图书名、出版社、类编号及上架时间。查询结果先按类编号降序排列,类编号相同的书再按上架时间升序排列(光盘:源文件第4章例4
16、-14)。第65页/共196页将查询结果排序第66页/共196页查询语句的统计功能 用户经常需要对查询结果集进行统计,例如求和、平均值、最大值、最小值和个数等,这些统计可以通过以下3种方法实现。使用聚合函数。使用GROUP BY子句。使用COMPUTE子句。第67页/共196页查询语句的统计功能使用聚合函数 使用GROUP BY子句 使用COMPUTE子句 第68页/共196页使用聚合函数 聚合函数用来对查询结果集中的记录进行统计计算,并在结果集中将统计结果生成一条新记录。SQL Server 2000提供了许多聚合函数。第69页/共196页常用集合函数表 函数名语法格式功能说明AVGAVG(
17、ALL|DISTINCT 列名)计算一个数值列的平均值SUMSUM(ALL|DISTINCT 列名)计算一个数值列的总和MAXMAX(ALL|DISTINCT 列名)返回指定列中的最大值MINMIN(ALL|DISTINCT 列名)返回指定列中的最小值COUNTCOUNT(ALL|DISTINCT 列名|*)统计查询结果集中记录的个数第70页/共196页使用聚合函数表4-3语法格式中的DISTINCT表示去掉指定列中的重复值,ALL表示不取消重复值,默认是ALL。【例4-15】计算Books表中所有图书的平均价格、总价、最高价、最低价及记录的个数(光盘:源文件第4章例4-15)。第71页/共1
18、96页聚合函数的使用第72页/共196页使用GROUP BY子句 GROUP BY子句用于对结果集进行分组并对每一组数据进行汇总计算。其语法格式为:GROUP BY 列名 HAVING 条件表达式第73页/共196页使用GROUP BY子句 GROUP BY按“列名”指定的列进行分组,将该列列值相同的记录组成一组,对每一组进行汇总计算。每一组生成一条记录。若有“HAVING 条件表达式”选项,则表示对生成的组进行筛选。第74页/共196页使用GROUP BY子句【例4-16】统计Books表中各个出版社的图书数量(光盘:源文件第4章例4-16)。在查询分析器中输入并运行上述代码。第75页/共1
19、96页分组统计第76页/共196页使用GROUP BY子句【例4-17】对例4-16中的代码改为以下代码,则只显示图书数量大于10的汇总行(光盘:源文件第4章例4-17)。在查询分析器中输入并运行上述代码。第77页/共196页对分组统计进行筛选 第78页/共196页使用COMPUTE子句 COMPUTE子句对查询结果集进行汇总统计,并显示参加汇总记录的详细信息。其语法格式为:COMPUTE 聚合函数 BY 列名第79页/共196页使用COMPUTE子句COMPUTE BY子句与GROUP BY子句的功能类似,都可以对查询结果集进行分组统计,不同的是,COMPUTE BY子句不仅显示汇总数据,还
20、分组显示参加汇总的记录的详细信息,而GROUP BY子句仅显示汇总数据。第80页/共196页使用COMPUTE子句【例4-18】统计Books表中各出版社的图书数量,并显示参加汇总的记录的详细信息(光盘:源文件第4章例4-18)。在查询分析器中输入并运行上述代码,其执行结果如下图。由于记录个数较多,所以该图只显示出部分出版社的统计信息。第81页/共196页使用COMPUTE子句第82页/共196页使用COMPUTE子句从上图可以看出,COMPUTE子句产生附加的汇总行,其列标题是系统自定的,如对于COUNT函数为cnt,对于AVG函数为avg,对于SUM函数为sum。第83页/共196页数据的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 学习 教程
限制150内