[PPT制作技巧]第五章 SQL语言及应用.ppt
《[PPT制作技巧]第五章 SQL语言及应用.ppt》由会员分享,可在线阅读,更多相关《[PPT制作技巧]第五章 SQL语言及应用.ppt(70页珍藏版)》请在三一办公上搜索。
1、1,第5章 SQL语言及应用,在数据库应用中SQL语言无处不在,它已经不只是单纯的一种查询语言,更多的是连接人和数据库系统之间的一座桥梁,无论你是开发管理信息系统还是作为数据库系统的管理者,都离不开使用SQL语言来执行人与数据库之间的信息交流。本章我们将学习SQL语言的基础知识和应用实例。,2,SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛
2、的应用。如今无论是像Oracle,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxpor,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。,3,第5章 SQL语言及应用,1.概述SQL是一种面向数据库的通用数据处理语言规范,能完成以下几类功能:提取查询数据,插入修改删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。数据库对象包括表、视图、索引、同义词、簇、触发器、函数、过程、包、数据库链、快照等(表空间、回滚段、角色、用户)。数据库通过对表的操作来管理存储在其中的数据。,
3、4,SQL语言具有如下主要特点:SQL是一种一体化的语言,它包括了数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。SQL语言是一种高度非过程化的语言,它没有必要一步步地告诉计算机“如何”去做,而只需要描述清楚用户要“做什么”,SQL语言就可以将要求交给系统,自动完成全部工作。SQL语言非常简洁。SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。VB是将SQL语言直接融入到自身的语言之中,使用起来更方便。,5,第5章 SQL语言及应用,2.SQL语言的组成SQL语言是由命令(函数)、子句、运算符、加总函数及通配符等组成,分述如下
4、:1)、命令SQL的命令可分成数据定义语言与数据操作语言,数据定义语言可用来建立新的数据库、数据表、字段及索引等,本教程不予介绍;另一为数据操作语言,可用来建立查询表、排序、筛选数据、修改、增删等动作。数据定义语言命令常用的有选择、添加、删除和修改这四种:SELECT:用于找出合乎条件的记录 INSERT:用于增加一笔记录或合并两个数据表 UPDATE:用于更正合乎条件的记录 DELETE:用于删除合乎条件的记录,6,表5.1 SQL命令动词,7,第5章 SQL语言及应用,2)子句子句是用于设定命令要操作的对象(即参数),SQL所用的子句如下:、子句:FROM 中文意思:数据表说明:用于指定数
5、据表、子句:WHERE中文意思:条件说明:用于设定条件、GROUP BY中文意思:分组(合并)说明:用于设定分组、ORDER BY中文意思:排序说明:用于设定输出的顺序及字段,8,第5章 SQL语言及应用,3)运算符子句参数中的运算符使子句构成不同的语法格式,如“字段1=100”、“字段1100”等。运算符又分逻辑运算符与比较运算符。逻辑运算符如下:、运算符:AND中文意思:并且说明:逻辑且、运算符:OR 中文意思:或者说明:逻辑非、运算符:NOT中文意思:取反说明:逻辑非或逻辑反,9,第5章 SQL语言及应用,比较运算符如下:、运算符:说明:大于、运算符:=说明:等于、运算符:说明:不等于、
6、运算符:BETWEEN 说明:用于设定范围 中文意思:在.之间、运算符:LIKE 说明:用于通配设定 中文意思:如同、运算符:IN 说明:用于集合设定 中文意思:在.之内,10,第5章 SQL语言及应用,4)加总函数加总函数常常运用在命令的参数中,如:“SELECT SUM(数学),AVG(数学)FROM 成绩单”。、加总函数:AVG 中文意思:平均。说明:用于求指定条件的平均、加总函数:COUNT中文意思:数量说明:用于求指定的数量、加总函数:SUM中文意思:和说明:用于求指定条件的和、加总函数:MAX中文意思:最大值说明:用于求指定条件的最大值、加总函数:MIN中文意思:最小值说明:用于求
7、指定条件的最小值,11,第5章 SQL语言及应用,5)通配符、通配符:%意义:任何长度的字符串(包括0)、通配符:_ 意义:下划线表示任何一个字符、通配符:意义:中括号表示某个范围内的一个字符,12,第5章 SQL语言及应用,3 数据库查询 1)用SELECT语句从表中提取查询数据。语法为 SELECT ALL|DISTINCT.,.FROM,WHEREANDGROUP BY,HAVINGORDER BYASC|DESC,ASC|DESC说明:命令中各参数的含义如下:SELECT是该命令的主要关键字。ALL|DISTINCT表示ALL和DISTINCT任选其 一,ALL表示所有的记录,DIST
8、INCT表示 去掉重复记录。FROM 说明要查询的数据来自哪个或哪些表,可以对单个表或多个表进行查询;WHERE说明查询条件,即选择元组的条件;GROUP BY 短语用于对查询结果进行分组,可以利用它进行分组汇总;HAVING 短语必须跟随GROUP BY使用,它用来限定分组必须满足的条件;ORDER BY 短语用来对查询的结果进行排序,13,2)WHERE子句。(LIKE,IS,)WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复
9、合条件。模糊查询举例:3)ORDER BY 子句 ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定,14,第5章 SQL语言及应用,4)连接查询 利用SELECT语句进行数据库查询时,可以把多个表、视图的数据结合起来,使得查询结果的每一行中包含来自多个表达式或视图的数据,这种*作被称为连接查询。连接查询的方法是在SELECT命令的FROM子句中指定两个或多个将被连接查询的表或视图,并且在WHERE子句告诉数据库如何把多个表的数据进行合并。根据WHERE子句中的条件表达式是等还是不等式,可以把连接查询分为等式连接和
10、不等式连接。5)子查询 如果某一个SELECT命令(查询1)出现在另一个SQL命令(查询2)的一个子句中,则称查询1是查询2的子查询。,15,1、从职工关系中检索所有工资值。SELECT 工资 FROM 职工可以看到在结果中有重复值,若要去掉重复值只需要指定DISTINCT短语。SELECT DISTINCT 工资 FROM 职工再比如有一张含firstname,lastname,city三个字段的数据表employee。select*from employee where firstname=May查询所有名称为May的行。select firstname,lastname,city fro
11、m employee where firstname LIKE E%SQL语句将会查询所有名称以E开头的姓名,4 简单查询举例,16,2、查询仓库关系中的所有元组。SELECT*FROM 仓库,17,3、查询工资多于1230元的职工号。SELECT 职工号 FROM 职工 WHERE 工资 1230,18,4、查询哪些仓库有工资多于1210元的职工。SELECT DISTINCT 仓库号 FROM 职工表 WHERE 工资 1210,19,5、查询在仓库“wh1”或“wh2”工作,并且工资少于1250元的职工号。SELECT 职工号 FROM 职工表WHERE 工资1250 AND(仓库号=”
12、wh1”OR仓库号=”wh2”),20,例:1、查询工资多于1230元的职工号和他们所在的城市。SELECT 职工号,城市 FROM 职工,仓库;WHERE(工资1230)AND(职工.仓库号=仓库.仓库号,注:由表可知,仓库和职工之间存在着一个一对多的联系。当FROM之后的多个关系中含有相同的属性名时,这时必须用关系前缀直接指明属性所属的关系,如职工.仓库号,“.”前关系名,后是属性名,5 简单的联接查询,21,2、找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。SELECT 职工号,城市 FROM 仓库,职工表;WHERE(面积400)AND(职工表.仓库号=仓库.仓库号
13、),22,SELECT嵌套查询是一种子查询,子查询的特征是能够将一个查询的结果作为另一个查询的一部分,子查询是对查询结果的查询。在SQL中,有些查询不用子查询无法表达。子查询要加括号,并且与SELECT语句的形式类似,也有FROM子句,以及可选择的WHERE、GROUP BY和HAVING子句等。子查询中的子句与SELECT语句中的子句格式相同,用于子查询时,它们执行正常的功能,但是子查询和SELECT语句还是有如下区别:,6、嵌套查询,23,(1)子查询通常必须生成单字段数据作为其查询结果,即必须是一个确定的项。若为一个集合,则需要使用谓词演算查询。(2)ORDER BY子句不能用于子查询,
14、子查询结果只是被主查询内部使用,对用户是不可见的,所以对它们的任何排序都是没有意义的。,24,例1、哪些城市至少有一个仓库的职工工资为1250元?SELECT 城市 FROM 仓库 WHERE 仓库号 IN;(SELECT 仓库号 FROM 职工 WHERE 工资=1250),25,2.查询所有职工的工资都多于1210元的仓库的信息。此查询也可描述为:没有一个职工的工资少于或等于1210元的仓库的信息。SELECT*FROM 仓库 WHERE 仓库号 NOT IN;(SELECT 仓库号 FROM 职工表 WHERE 工资=1210),26,注:尽管在“武汉“的”wh4”仓库还没有职工,但该仓
15、库的信息也被检索出来了,所以必须认真分析检索要求,写出正确的SQL命令。如果要求排除那些还没有职工的仓库,检索要求可以叙述为:检索所有职工的工资都多于1210元的仓库的信息,并且该仓库至少要有一名职工。SELECT*FROM 仓库 WHERE 仓库号 NOT IN;(SELECT 仓库号 FROM 职工表 WHERE 工资=1210);AND 仓库号 IN(SELECT 仓库号 FROM 职工表),27,3、找出和职工E4挣同样工资的所有职工。SELECT 职工号 FROM 职工表 WHERE 工资=;(SELECT 工资 FROM 职工表 WHERE 职工号=”e4”),28,7、几个特殊运
16、算符 BETWEEN AND:指定查询的条件是在什么范围内(数值)LIKE(%_):指定查询与通配符相匹配的字符。,29,例1、查询出工资在1220元到1240元范围内的 职工信息。SELECT*FROM 职工表 WHERE 工资 BETWEEN 1220 AND 1240(工资=1220 AND工资=1240),30,2、从供应商关系中检索出全部公司的信息,不要工厂或其他供应商的信息。这是一个字符串匹配的查询,显然应该使用LIKE运算符。SELECT*FROM 供应商 WHERE 供应商名 LIKE“%公司”,31,3、找出不在北京的全部供应商信息。SELECT*FROM 供应商 WHERE
17、 地址!=“北京”SELECT*FROM供应商WHERE NOT(地址=“北京”)NOT的应用范围很广,比如,可以有NOT IN、NOT BETWEEN等。若提出和例1相反的请求,找出工资不在1220元和1240元之间的全部职工信息,可以用命令:SELECT*FROM 职工表 WHERE 工资 NOT BETWEEN 1220 AND 1240,32,8、排序使用SQL-SELECT可以将查询结果排序,排的短语是ORDER BY,具体格式如下:ORDER BY 字段1 ASCDESC,字段2 ASCDESC 由以上格式可看出,可以按升序(ASC)或降序(DESC)排序,允许按一列或多列排序。,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PPT制作技巧 PPT制作技巧第五章 SQL语言及应用 PPT 制作 技巧 第五 SQL 语言 应用
链接地址:https://www.31ppt.com/p-4594167.html