[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 中文意思:和 说明:用于求指定条件的
7、和 、加总函数:MAX 中文意思:最大值 说明:用于求指定条件的最大值 、加总函数:MIN 中文意思:最小值 说明:用于求指定条件的最小值,11,第5章 SQL语言及应用,5)通配符 、通配符:% 意义:任何长度的字符串(包括0) 、通配符:_ 意义:下划线表示任何一个字符 、通配符: 意义:中括号表示某个范围内的一个字符,12,第5章 SQL语言及应用,3 数据库查询 1)用SELECT语句从表中提取查询数据。语法为 SELECT ALL|DISTINCT.,. FROM , WHEREAND GROUP BY, HAVING ORDER BYASC|DESC,ASC|DESC 说明:命令中
8、各参数的含义如下: SELECT是该命令的主要关键字。 ALL|DISTINCT表示ALL和DISTINCT任选其 一,ALL表示所有的记录,DISTINCT表示 去掉重复记录。 FROM 说明要查询的数据来自哪个或哪些表,可以对单个表或多个表进行查询;WHERE说明查询条件,即选择元组的条件; GROUP BY 短语用于对查询结果进行分组,可以利用它进行分组汇总; HAVING 短语必须跟随GROUP BY使用,它用来限定分组必须满足的条件; ORDER BY 短语用来对查询的结果进行排序,13,2)WHERE子句。(LIKE,IS,) WHERE子句中的条件可以是一个包含等号或不等号的条件
9、表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复合条件。 模糊查询举例: 3)ORDER BY 子句 ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定,14,第5章 SQL语言及应用,4)连接查询 利用SELECT语句进行数据库查询时,可以把多个表、视图的数据结合起来,使得查询结果的每一行中包含来自多个表达式或视图的数据,这种*作被称为连接查询。 连接查询的方法是在SELECT命令的FROM子句中指定两
10、个或多个将被连接查询的表或视图,并且在WHERE子句告诉数据库如何把多个表的数据进行合并。根据WHERE子句中的条件表达式是等还是不等式,可以把连接查询分为等式连接和不等式连接。 5)子查询 如果某一个SELECT命令(查询1)出现在另一个SQL命令(查询2)的一个子句中,则称查询1是查询2的子查询。,15,1、从职工关系中检索所有工资值。 SELECT 工资 FROM 职工 可以看到在结果中有重复值,若要去掉重复值只需要指定DISTINCT短语。 SELECT DISTINCT 工资 FROM 职工 再比如有一张含firstname, lastname, city三个字段的数据表employ
11、ee。 select * from employee where firstname = May 查询所有名称为May的行。 select firstname, lastname, city from employee where firstname LIKE E% SQL语句将会查询所有名称以E开头的姓名,4 简单查询举例,16,2、查询仓库关系中的所有元组。 SELECT * FROM 仓库,17,3、查询工资多于1230元的职工号。 SELECT 职工号 FROM 职工 WHERE 工资 1230,18,4、查询哪些仓库有工资多于1210元的职工。 SELECT DISTINCT 仓库号
12、 FROM 职工表 WHERE 工资 1210,19,5、查询在仓库“wh1”或“wh2”工作,并且工资少于1250元的职工号。 SELECT 职工号 FROM 职工表 WHERE 工资1250 AND(仓库号=”wh1” OR仓库号 =”wh2”),20,例: 1、查询工资多于1230元的职工号和他们所在的城市。 SELECT 职工号,城市 FROM 职工,仓库; WHERE (工资1230)AND(职工.仓库号=仓库.仓库号,注:由表可知,仓库和职工之间存在着一个一对多的联系。当FROM之后的多个关系中含有相同的属性名时,这时必须用关系前缀直接指明属性所属的关系,如职工.仓库号,“.”前关
13、系名,后是属性名,5 简单的联接查询,21,2、找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。 SELECT 职工号,城市 FROM 仓库,职工表; WHERE (面积400)AND (职工表.仓库号=仓库.仓库号),22,SELECT嵌套查询是一种子查询,子查询的特征是能够将一个查询的结果作为另一个查询的一部分,子查询是对查询结果的查询。在SQL中,有些查询不用子查询无法表达。子查询要加括号,并且与SELECT语句的形式类似,也有FROM子句,以及可选择的WHERE、GROUP BY和HAVING子句等。子查询中的子句与SELECT语句中的子句格式相同,用于子查询时,它们
14、执行正常的功能,但是子查询和SELECT语句还是有如下区别:,6、嵌套查询,23,(1)子查询通常必须生成单字段数据作为其查询结果,即必须是一个确定的项。若为一个集合,则需要使用谓词演算查询。 (2)ORDER BY子句不能用于子查询,子查询结果只是被主查询内部使用,对用户是不可见的,所以对它们的任何排序都是没有意义的。,24,例 1、哪些城市至少有一个仓库的职工工资为1250元? SELECT 城市 FROM 仓库 WHERE 仓库号 IN; (SELECT 仓库号 FROM 职工 WHERE 工资=1250),25,2.查询所有职工的工资都多于1210元的仓库的信息。 此查询也可描述为:没
15、有一个职工的工资少于或等于1210元的仓库的信息。 SELECT * FROM 仓库 WHERE 仓库号 NOT IN; (SELECT 仓库号 FROM 职工表 WHERE 工资=1210),26,注:尽管在“武汉“的”wh4”仓库还没有职工,但该仓库的信息也被检索出来了,所以必须认真分析检索要求,写出正确的SQL命令。如果要求排除那些还没有职工的仓库,检索要求可以叙述为:检索所有职工的工资都多于1210元的仓库的信息,并且该仓库至少要有一名职工。 SELECT * FROM 仓库 WHERE 仓库号 NOT IN; (SELECT 仓库号 FROM 职工表 WHERE 工资 =1210);
16、 AND 仓库号 IN(SELECT 仓库号 FROM 职工表),27,3、找出和职工E4挣同样工资的所有职工。 SELECT 职工号 FROM 职工表 WHERE 工资=; (SELECT 工资 FROM 职工表 WHERE 职工号=”e4”),28,7、几个特殊运算符 BETWEEN AND:指定查询的条件是在什么范围内(数值) LIKE(%_):指定查询与通配符相匹配的字符。,29,例 1、查询出工资在1220元到1240元范围内的 职工信息。 SELECT * FROM 职工表 WHERE 工资 BETWEEN 1220 AND 1240 (工资=1220 AND工资=1240),30
17、,2、从供应商关系中检索出全部公司的信息,不要工厂或其他供应商的信息。这是一个字符串匹配的查询,显然应该使用LIKE运算符。 SELECT * FROM 供应商 WHERE 供应商名 LIKE “%公司”,31,3、找出不在北京的全部供应商信息。 SELECT * FROM 供应商 WHERE 地址!=“北京” SELECT * FROM供应商WHERE NOT (地址=“北京”) NOT的应用范围很广,比如,可以有NOT IN、NOT BETWEEN等。若提出和例1相反的请求,找出工资不在1220元和1240元之间的全部职工信息,可以用命令: SELECT * FROM 职工表 WHERE
18、工资 NOT BETWEEN 1220 AND 1240,32,8、排 序 使用SQL-SELECT可以将查询结果排序,排的短语是ORDER BY,具体格式如下: ORDER BY 字段1 ASCDESC ,字段2 ASC DESC 由以上格式可看出,可以按升序(ASC)或降序(DESC)排序,允许按一列或多列排序。,33,1、按职工的工资值升序检索出全部职工信息。 SELECT * FROM 职工表 ORDER BY 工资(升序),34,2、先按仓库号排序,再按工资排序并输出全部职工信息。 SELECT * FROM 职工表 ORDER BY 仓库号,工资(升序),注:ORDER BY是对最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PPT制作技巧 PPT制作技巧第五章 SQL语言及应用 PPT 制作 技巧 第五 SQL 语言 应用
链接地址:https://www.31doc.com/p-1995574.html