数据库查询课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库查询课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 查询 课件
- 资源描述:
-
1、授课授课13-13-数据库查询、维护数据库查询、维护a1数据库查询13.1 SELECT语句概述13.2 简单查询13.3 分类汇总13.4 连接查询13.5 子查询13.6 查询结果保存授课授课13-13-数据库查询、维护数据库查询、维护a2【任务(实验任务(实验1818,1919)】数据库简单查询、复杂数据库简单查询、复杂查询查询实验内容实验内容:P270-P276P270-P276授课授课13-13-数据库查询、维护数据库查询、维护a3查询步骤SQL Server查询查询用户用户发出发出一个关于表中的数一个关于表中的数据的请求或问题据的请求或问题回答该查询回答该查询 返回结果集返回结果集
2、由由 SQL Server处理处理表中的数据表中的数据授课授课13-13-数据库查询、维护数据库查询、维护a413.1 SELECT语句概述13.1.1 SELECT语句的语法格式13.1.2 SELECT语句的执行方式授课授课13-13-数据库查询、维护数据库查询、维护a513.1.1 SELECT语句的语法格式SELECT语句的基本语法格式如下:l SELECT l INTO l FROM l WHERE l GROUP BY l HAVING l ORDER BY ASC|DESC授课授课13-13-数据库查询、维护数据库查询、维护a613.1.2 SELECT语句的执行方式1使用企业管
3、理器执行授课授课13-13-数据库查询、维护数据库查询、维护a713.1.2 SELECT语句的执行方式2使用查询分析器执行授课授课13-13-数据库查询、维护数据库查询、维护a813.2 简单查询13.2.1 SELECT子句13.2.2 WHERE子句13.2.3 ORDER BY子句授课授课13-13-数据库查询、维护数据库查询、维护a913.2.1 SELECT子句 SELECT子句是对表中的列进行选择查询,也是SELECT语句最基本的使用,基本形式如下:SELECT SELECT 列名列名1,1,列名列名nn选择列是限定返回某些列组成结果集。1选择所有列 选择所有的列,既可以在查询中
4、逐一地列示出所有的列名,也可以使用符号“*”。例 查询本校教师信息SELECT SELECT*FROM FROM 本校教师本校教师授课授课13-13-数据库查询、维护数据库查询、维护a102选择指定的列 若要选择表中的特定列,应在选择列表中明确地列出每一列,在列与列之间用逗号隔开。例:SELECT SELECT 教师编号,教师姓名,系,专业方向,职称教师编号,教师姓名,系,专业方向,职称FROM FROM 本校教师本校教师授课授课13-13-数据库查询、维护数据库查询、维护a1113.2.1 SELECT子句3修改查询结果中的列标题 当希望查询结果中的某些列不显示表结构中规定的列标题,而使用用
5、户自己另外选择的列标题时,可以在列名之后使用AS子句来更改查询结果中的列标题名。例如:use xs select 学号 as number,姓名 as nameFrom XSDAgoNumber=学号授课授课13-13-数据库查询、维护数据库查询、维护a1213.2.1 SELECT子句4计算列值 使用SELECT语句对列进行查询时,在结果中可以输出对列值计算后的值,即SELECT子句可使用表达式作为查询结果。格式为:SELECT expression ,expression 例如:use xs select 学号 课程标号,期末成绩=成绩*0.8From XSCJgo授课授课13-13-数据
6、库查询、维护数据库查询、维护a1313.2.1 SELECT子句4消除结果集中的重复行 对表只选择某些列时,可能会出现重复行,例如,若对XSDA表只选择系名和总学分,则会出现多行重复的情况。可以使用DISTINCT关键字消除结果集中的重复行。DISTINCT关键字对其后面所指定的列消除重复行。一个SELECT语句中只能有一个DISTINCT,而且必须放在所有的列名之前。语法格式:SELECT SELECT DISTINCT DISTINCT column_name,column_namecolumn_name,column_name 授课授课13-13-数据库查询、维护数据库查询、维护a141
7、3.2.1 SELECT子句5限制结果集返回行数 如果SELECT语句返回的结果集中的行数特别多,不利于信息的整理和统计,可以使用TOP选项限制其返回的行数。TOP选项的基本格式为:TOPTOP n PERCENT n PERCENT其中n是一个正整数,表示返回查询结果集的前n行。若带PERCENT关键字,则表示返回结果集的前n%行。例如:use xsselect top 3 *From XSCJgo授课授课13-13-数据库查询、维护数据库查询、维护a1513.2.2 WHERE子句 WHERE子句是对表中的行进行选择查询,即通过在SELECT语句中使用WHERE子句可以从数据表中过滤出符合
8、WHERE子句指定的选择条件的记录,从而实现行的查询。WHERE子句必须紧跟在FROM子句之后,其基本格式为:WHERE 1比较表达式作查询条件使用比较表达式作为查询条件的一般格式是:expression expression 比较运算符比较运算符 expressionexpression 例如:出生年月1990/1/1授课授课13-13-数据库查询、维护数据库查询、维护a1613.2.2 WHERE子句2逻辑表达式作查询条件使用逻辑表达式作为查询条件的一般格式是:expression AND expression expression AND expression 或或expression
9、OR eexpression OR expression xpression 或或NOT expression NOT expression 例如:性别=女and 出生年月1990/1/1授课授课13-13-数据库查询、维护数据库查询、维护a1713.2.2 WHERE子句3模式匹配LIKE谓词用于指出一个字符串是否与指定的字符串相匹配,返回逻辑值TRUE或FALSE。语法格式:string_expression NOT LIKE string_expressionstring_expression NOT LIKE string_expression通配符含义%包含零个或多个字符的任意字符串
10、。_任何单个字符。指定范围(例如 a-f)或集合(例如 abcdef)内的任何单个字符。不在指定范围(例如 a-f)或集合(例如 abcdef)内的任何单个字符LIKE子句中可使用的通配符授课授课13-13-数据库查询、维护数据库查询、维护a1813.2.2 WHERE子句4范围比较用于范围比较的关键字有两个:BETWEEN和IN。BETWEEN关键字可以方便地限制查询数据的范围。语法格式:expression NOT BETWEEN expression1 AND expressiexpression NOT BETWEEN expression1 AND expression2on2例:查
11、询成绩在60分到70分之间的学号、课程和成绩:use xsSELECT 学号,课程号,成绩FROM xscjWHERE 成绩 BETWEEN 60 AND 70授课授课13-13-数据库查询、维护数据库查询、维护a1913.2.2 WHERE子句5空值比较 空值表示值未知。空值不同于空白或零值。没有两个相等的空值。当需要判定一个表达式的值是否为空值时,使用IS NULL关键字,格式为:expression IS NOT NULLexpression IS NOT NULL例:查询成绩表中无成绩的学号和课程use xsSELECT 学号,课程号FROM xscjWHERE 成绩 is null授
12、课授课13-13-数据库查询、维护数据库查询、维护a2013.2.3 ORDER BY子句 在应用中经常要对查询的结果排序输出,例如将学生成绩由高到低排序输出。在SELECT语句中,使用ORDER BY子句对查询结果进行排序。语法格式:ORDER BY order_by_expression ASC|DESC,nORDER BY order_by_expression ASC|DESC,n例:查询成绩表中课程号为52315的记录按成绩从小到大排序输出use xsSELECT 学号,课程号FROM xscjWHERE 课程号=52315Order by 成绩 descgo授课授课13-13-数据
13、库查询、维护数据库查询、维护a2113.3 分类汇总13.3.1 常用聚合函数13.3.2 分组筛选13.3.3 计算与汇总授课授课13-13-数据库查询、维护数据库查询、维护a2213.3.1 常用聚合函数 在对表数据进行查询时,经常需要对结果进行汇总计算。可以使用聚合函数对数据进行计算。例 统计选修“301”号课程的总分,平均分和最高分。USE xsSELECT SUM(成绩)AS 总成绩,AVG(成绩)AS 平均成绩,MAX(成绩)AS 最高成绩FROM xscjWHERE 课程号=301GO授课授课13-13-数据库查询、维护数据库查询、维护a2313.3.1 常用聚合函数函 数 名功
14、 能SUM()返回表达式中所有值的和AVG()返回表达式中所有值的平均值MAX()求最大值MIN()求最小值COUNT()用于统计组中满足条件的行数或总行数授课授课13-13-数据库查询、维护数据库查询、维护a2413.3.2 分组筛选 分组是按照某一列数据的值或某个列组合的值将查询出的行分成若干组,每组在指定列或列组合上具有相同的值。分组可通过使用GROUP BY子句来实现。语法格式:GROUP BY group_by_expression,nGROUP BY group_by_expression,n授课授课13-13-数据库查询、维护数据库查询、维护a2513.3.2 分组筛选 sele
15、ct 系别,性别,年龄,avg(总学分)as 总学分平均值from xsdagroup by 系别,性别go列 xsda.年龄 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。当与 GROUP BY 子句一起使用时,每个聚合函数都为每一组生成一个值,而不是对整个表生成一个值 授课授课13-13-数据库查询、维护数据库查询、维护a2613.3.3 计算与汇总 除使用聚合函数进行汇总外,还可以使用COMPUTE关键字对结果进行汇总计算。COMPUTE可以生成合计作为附加的汇总列,出现在结果集的最后。语法格式:COMPUTE 聚合函数名(expression),
16、nBY expression,n例 查询家住广东省的学生,输出学号、姓名和家庭住址,并统计学生人数。USE xsSELECT 学号,姓名,家庭住址FROM 学生WHERE 家庭住址 LIKE 广东%COMPUTE COUNT(学号)GO授课授课13-13-数据库查询、维护数据库查询、维护a2713.3.3 计算与汇总USE pubsSELECT type,priceFROM titlesWHERE price$10 AND type LIKE%cookORDER BY type,priceCOMPUTE SUM(price)BY type授课授课13-13-数据库查询、维护数据库查询、维护a2
17、813.4 连接查询13.4.1 连接谓词13.4.2 JOIN关键字指定的连接授课授课13-13-数据库查询、维护数据库查询、维护a2913.4.1 连接谓词在XS数据库中需要查找选修了数据结构课程的学生的姓名和成绩授课授课13-13-数据库查询、维护数据库查询、维护a3013.4.1 连接谓词 在实际查询中,有时所需要的信息来自于不同的表,需要在查询中将这些表进行连接方能得到完整的信息。例如:在XS数据库中需要查找选修了数据结构课程的学生的姓名和成绩,就需要将XSDA,KCXX,XSCJ三个表进行连接,才能查找到结果。授课授课13-13-数据库查询、维护数据库查询、维护a3113.4.2
18、JOIN关键字指定的连接(1)内连接 内连接也叫自然连接,它是组合两个表的常用方法。自然连接将两个表中的列进行比较,将两个表中满足连接条件的行组合起来,作为结果。自然连接有两种形式的语法。内连接按照ON所指定的连接条件合并两个表,返回满足条件的行。语法格式:FROM INNER JOIN ON 授课授课13-13-数据库查询、维护数据库查询、维护a3213.4.2 JOIN关键字指定的连接如:SELECT 列 FROM 表1 insert JION 表2 ON 表1.列=表2.列语法二:SELECT 列 FROM 表1,表2 WHERE表1.列=表2.列授课授课13-13-数据库查询、维护数据
19、库查询、维护a3313.4.2 JOIN关键字指定的连接例:从titles和titleauthor表中查询书的书号、书名、作者号、类型和价格。授课授课13-13-数据库查询、维护数据库查询、维护a3413.4.2 JOIN关键字指定的连接usepubsgoselect titles.title_id,title,au_id,type,pricefrom titles join titleauthoron titles.title_id=titleauthor.title_id授课授课13-13-数据库查询、维护数据库查询、维护a3513.4.2 JOIN关键字指定的连接得到结果为:title_
20、id title au_idtypeprice-BU1032The Busy Executives Database Guide213-46-8915business19.9900BU1032The Busy Executives Database Guide409-56-7008business19.9900BU1111Cooking with Computers:Surreptitious Balance Sheets267-41-2394 business11.9500BU1111Cooking with Computers:Surreptitious Balance Sheets724
21、-80-9391 business11.9500BU2075You Can Combat Computer Stress!213-46-8915business2.9900(所影响的行数为 25 行)在上述查询中titles表与titleauthor表通过title_id列进行连接,这样可以在一次查询中从两个表获得数据。授课授课13-13-数据库查询、维护数据库查询、维护a3613.4.2 JOIN关键字指定的连接(2)外连接外连接的结果表不但包含满足连接条件的行,还包括相应表中的所有行。外连接包括以下3种。左外连接左外连接的结果表中除了包括满足连接条件的行外,还包括左表的所有行。语法格式:F
展开阅读全文