第四章数据查询课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第四章数据查询课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 数据 查询 课件
- 资源描述:
-
1、第五章第五章 关系数据库标准语言关系数据库标准语言SQL一、SQL概述结构化查询语言全称全称:Structured Query Language内容内容:数据定义、数据操纵、数据查询和数据控制。特点特点:w简结w 一体化语言w高度非过程化w 命令交互使用SQL 命令动词表SQL 功能命令动词数据查询SELECT数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE查询技巧查询技巧首先读题义,从中抽出关键字打开查询的表、先浏览,从中找线索从题目中提取所要信息,作为条件对所得的条件进行有效的组合完善查询SQL中的数据查询语句中的数
2、据查询语句数据库中的数据很多时侯是为了查询的,因此,数据查是数据库的核心操作。而在SQL语言中,查询语言中有一条查询命令,即SELECT语句。4.5.1 基本查询语句基本查询语句【格式】SELECT ALL|DISTINCT FROM 【功能】无条件查询。【功能】无条件查询。【说明】ALL:表示显示全部查询记录,包括重复记录。DISTINCT:表示显示无重复结果的记录。简单查询简单查询例5.1 从职工关系中检索所有工资值分析分析:关系指二维表,工资是要显示的结果字 段,没有条件。方法方法:把信息插入SQL语句。结果表示结果表示:SELE 工资 FROM 职工语句说明语句说明:SELECT:字段
3、名(或查询的结果)FROM:来源于哪张表。DISTINCT:是否要去掉等值的字段。例5.1 检索仓库关系中的所有元组 SELE*FROM 仓库*:是通配符,表示所仓库表的中字段.此题中可以:SELE 仓库号,城市,面积 FROM 仓库例5.2:检索工资多于1230元的职工号 条件:工资多于1230 等价于工资1230 显示字段:职工号 来源表:职工表 SELE 职工号 FROM 职工 WHERE 工资1230例:检索哪些仓库有工资多于1210元的职工分析:工资多于1210元等价于工资1210 仓库:是要显示的字段信息,用仓库号 来表示.SELE DIST 仓库号 FORM 职工 WHERE 工
4、资1210 例:5.5给出在仓库“WH1”或“WH2”工作,并且工资少于1250元的职工号条件:(仓库号=“WH1”OR 仓库号=“WH2”)AND 工资1250 语句:SELE 职工号 FROM 职工 WHERE(仓库号=“WH1”OR 仓库号=“WH2”)AND 工资1250 二、连接查询连接查询【说明】在一个数据库中的【说明】在一个数据库中的多个表之间多个表之间一般都存在一般都存在着着某些联系某些联系,在一个查询语句中同时,在一个查询语句中同时涉及到两个涉及到两个或两个以上的表时或两个以上的表时,这种查询称之为连接查询,这种查询称之为连接查询(也称为多表查询也称为多表查询)。在多表之间查
5、询必须处理)。在多表之间查询必须处理表与表之间的连接关系。表与表之间的连接关系。SELECT ALL|DISTINCT FROM ,表,表2.WHERE 简单的联接查询针对多张表,一张表的结果要依靠另一张表为条件,才能查出.把两张表联接起来,形成逻辑上的一张表.技巧:找两张表之间的公共字段及联接条件结构:SELE FROM 表1,表2 WHER AND 联接条件(或者两张表的公共字段)联接条件:表名.字段名(或者表的别名.字段名)例5.6 找出工资多于1230元的职工号和他们所在城市.注意:一张表查出不能完成,结果需要两张表,职工表只有职工号,而仓库表有中只有城市.他们的公共字段为仓库号.联接
6、条件:职工.仓库号=仓库.仓库号 一般条件:工资1230 两张表:职工,仓库 显示字段:职工号,城市 语句:SELE 职工号,城市 FROM 职工,仓库 WHERE (工资1230)AND(职工.仓库号=仓库.仓库号)例:找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市.分析条件:面积400 联接条件:(职工.仓库号=仓库.仓库号)查询涉及表:仓库,职工 查询结果字段:职工号,城市 SELE 职工号,城市 FROM 仓库,职工 WHERE(面积400)AND(职工.仓库号=仓库.仓库号)嵌套查询外查询的条件来自内查询的结果在SQL语句中,一个SELECTFROMWHERE语句称
7、为一个查询块。将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询或子查询。IN:属于关系,返回多个值NOT IN:不属于关系联接条件:公共字段名 IN(SELE 公共字段名 相当于联接中条件 表1.公共字段名=表2.公共字段名例题:哪些城市至少有一个仓库的职工工资1250元?SELE 城市 FROM 仓库表 WHERE 仓库号 IN(SELE 仓库号 FROM 职工 WHERE 工资=1250)IN:属于关系,返回多个值注意:仓库号 IN(SELE 仓库号相当于连接的条件:仓库.仓库号=职工.仓库号例:查询所有职工的工资都于1210元的仓库 的信息.SE
8、LE*FROM 仓库 WHERE 仓库号 NOTIN(SELE 仓库号 FROM 工资=1210)分析没有错,但实际错了。应该为SELE*FROM 仓库 WHERE 仓库号NOT IN(SELE 仓库号 FROM 工资WHERE 工资=1210)AND(工资=1240)例:从供应商关系中检索出全部公司的信息,不工厂或其它供应商的信息.SELE*FROM 供应商 WHERE LIKE”%公司”例:找出不在北京的全部供应商信息.SELECT*FROM 供应商 WHERE 地址!=“北京”或者SELE*FROM 供应商 WHERE NOT(地址=“北京”)注:地址!=“北京”与NOT(地址=“北京”
9、)等价只是两种不同的表达方式五、排序ORDER BY ASC/DESCASC升序,可以不用.DESC 降序例:按职工的工资值升序索出全部职工信息.SELE*FROM 职工 ORDER BY 工资 ASC例、先按仓库号排序,再按工资排序并输 出全部职工信息。注:这句话可这样叙述,对职工表的仓库号进行排序,如果仓库号相同再按工资排序。SELE*FROM 职工 ORDER BY 仓库号 DESC,工资注:ORDE BY 不能用在子查询中例:按职工的工资值升序检索出全部职工 信息。SELE*FROM 职工 ORDER BY 工资 降序:在所面加 DESC 例:先按仓库号排序,再按工资排序并输 出全部职
10、工信息。对多个字段进行排序:SELE*FROM 职工ORDER BY 仓库号,工资简单的计算查询COUNT()-计数SUM()-求和AVG()-求平均值MAX()-求最大值MIN()-求最小值查询产生新字段查询中新字段查询中新字段:在查询的结果中多一个统计或计算的字段。定义格式定义格式:SELE SUM(工资)AS 总工资总工资 FROM 职工例例1:SELECT AVG(工资)AS 平均工资例例2:SELECT COUNT(职工号)AS 职工个数例:找出供应商所在地址的数目SELE COUNT(DIST 地址)FROM 供应商DIST 相同的地址例:求支付的工资总数SELE SUM(工资)F
11、ROM 职工例:求北京和上海的仓库职工的工资总和SELE SUM(工资)FROM 职工,仓库 WHERE(城市=“北京”OR城市=“上海”)AND(职工.仓库号=仓库.仓库号)SELE SUM(工资)FROM 职工 WHERE 仓库号 IN(SELE 仓库号 FROM 仓库 WHERE 城市=“北京”OR城市=“上海”)例:求所有职工的工资都多于1210元的仓库的平均面积.SELE AVG(面积)AS 平均面积 FROM 仓 库 WHERE 仓库号 not IN(SELE 仓库号 FROM 职工 WHERE 工资=1210)and 仓库号 IN(SELE 仓库号 FROM 职工)例:求在WH2
展开阅读全文