SQL经典例题及课件.ppt
《SQL经典例题及课件.ppt》由会员分享,可在线阅读,更多相关《SQL经典例题及课件.ppt(281页珍藏版)》请在三一办公上搜索。
1、2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,第3章 关系数据库的标准语言SQL,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,3.1 SQL概述 3.2 数据定义语言 3.3 数据更新语言 3.4 数据查询语言 3.5 数据控制语言3.6 嵌入式SQL小结,内 容,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,3.1 SQL概述,SQL的发展历程 SQL的组成与功能 SQL语言的特点 SQL基本知识,2023/11/8,数据库原理与应用第3章 关系数据库的标准语
2、言SQL东北财经大学 李红,SQL语言1974年被提出,并首先在IBM公司研制的RDB原型系统System R上实现。它具有功能丰富、使用方式灵活、语言简洁易学等突出优点,深受计算机工业界和计算机用户的欢迎。1986年10月,美国国家标准局(ANSI)的DB委员会批准SQL作为RDB语言的美国标准。同年公布了标准SQL文本。1987年6月,国际标准化组织(ISO)将其采纳为国际标准(称“SQL86”)。此后出现了“SQL89”、“SQL2”(1992)和“SQL3”(1993)。,3.1.1 SQL的发展历程,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学
3、李红,SQL成为国际标准后,各个DB厂家纷纷推出各自的支持SQL的软件或与SQL接口的软件。趋势:各种计算机(微机、小型机、大型机)上的DBS,都采用SQL作为共同的数据存取语言和标准接口。成为不同DBS间互操作的基础。SQL对DB以外的领域也产生了很大影响(软件产品将SQL语言的数据查询功能与图形功能、软件工程工具、软件开发工具、人工智能程序结合起来,开发出功能更强的软件产品)。可预见,在未来一段相当长的时间内,SQL仍将是RDB的主流语言,而且在知识发现、人工智能、软件工程等领域,也具有广阔的应用前景。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李
4、红,3.1.2 SQL的组成与功能,数据定义语言 数据操纵语言 数据控制语言 嵌入式SQL,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,数据定义语言,称为“SQL DDL”。用来定义RDB的模式、外模式和内模式,以实现对基本表、视图以及索引文件的定义、修改和删除等操作。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,数据操纵语言,称为“SQL DML”。包括数据查询和数据更新两类。数据查询:对DB中的数据查询、统计、分组、排序等操作;数据更新:数据的插入、删除、修改等数据维护操作。,2023/11/8,数
5、据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,数据控制语言,数据控制语言(简称DCL)也称为“SQL DCL”。数据控制包括对基本表和视图的授权,完整性规则的描述,事务控制语句等。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,嵌入式SQL,规定了SQL语句嵌入在宿主语言程序中使用的各种规则。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,3.1.3 SQL语言的特点,自含式和嵌入式两种形式 语言简洁、易学易用 高度非过程化 支持RDB三级模式结构,2023/11/8,数据库原理与应用
6、第3章 关系数据库的标准语言SQL东北财经大学 李红,自含式和嵌入式两种形式,自含式SQL:能够独立地进行联机交互,用户只需在终端键盘上直接键入SQL命令就可以对DB进行操作;嵌入式SQL:能够嵌入到高级语言,如C、COBOL、FORTRAN、PL/1程序中来实现对DB的数据存取操作,给程序员设计应用程序提供了很大的方便。在自含式SQL和嵌入式SQL不同的使用方式中,SQL的语法结构基本上一致。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,语言简洁、易学易用,尽管SQL语言功能极强又有两种使用方式,但由于设计巧妙,其语言十分简洁,完成核心功能的语句
7、只用了9个动词。SQL语法很简单,容易学习和使用。SQL的命令动词表:,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,高度非过程化,SQL是一种第四代语言(4GL),用户只需要提出“干什么”,无需具体指明“怎么干”;像存取路径选择和具体处理操作等,均由系统自动完成。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,支持RDB三级模式结构,全体基本表构成DB的概念模式视图和部分基本表构成DB的外模式DB的存储文件和它们的索引文件构成RDB的内模式,图,2023/11/8,数据库原理与应用第3章 关系数据库的标准
8、语言SQL东北财经大学 李红,全体基本表构成DB的概念模式,基本表是本身独立的表;SQL中的一个关系对应一个基本表;基本表按数据全局逻辑模式建立。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,视图:由一个或几个基本表导出的表。视图不独立存储在DB中,DB中只存放视图的定义而不直接存放视图对应的数据,这些数据仍存放在与视图相关的基本表中。视图是一个虚表,是根据外模式定义的,能满足用户和应用程序的数据格式要求。当基本表不适合用户直接查询的操作要求时,需要定义视图,以便于用户的查询操作。在数据查询时,SQL对基本表和视图等同对待。,视图和部分基本表构成D
9、B的外模式,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,在SQL中,基本表可以直接被用户操作,被直接使用的基本表也是外模式的一部分。基本表和视图构成了RDB的外模式,SQL支持RDB的外模式结构。用户可用SQL语言对视图和基本表进行查询。在用户眼中,视图和基本表都是关系,而存储文件对用户是透明的。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,一个关系对应一个表;一个或多个表对应一个存储文件;一个表可带若干个索引,索引也存放在存储文件中;存储文件的逻辑结构组成RDB的内模式。,DB的存储文件和它们的索引文
10、件构成RDB的内模式,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,SQL对RDB模式的支持,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,3.1.4 SQL基本知识,1.数据类型2.表达式与运算符 3.函数 4.语法规定与约定,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,1.数据类型,数值型 字符型 位串型 日期型,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,数据类型是数据自身的特点,它的属性被放在表的列字段里。数
11、据类型用于给特定的列提供数据规则,它决定着数据在列中的存储方式和给列分配的数据长度,并且决定了此数据是字符、数字还是时间日期数据。每一个具体的SQL的实施方案都有自己特有的数据类型,因此有必要使用与具体的实施方案相关的数据类型。但所有的实施方案中的基本数据类型都是一样的。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,数值型INT:长整数,也可写成INTEGERSMALLINT:短整数REAL:取决于机器精度的浮点数DOUBLE PRECISION:取决于机器精度的双精度浮点数FLOAT(n):浮点数,精度至少为n位数字NUMBERIC(p,q):定
12、点数,由p位数字组成,但不包括符号、小数点,小数点后面有q位数字,也可写成DECIMAL(p,q)或dec(p,q),2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,字符型CHAR(n):长度为n的定长字符串,n是字符串中字符的个数VARCHAR(n):具有最大长度为n的变长字符串,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,位串型BIT(n):长度为n的二进制位串BIT VARYING(n):最大长度为n的变长二进制位串,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学
13、李红,日期型 DATE:日期包含年、月、日格式为 YYYY-MM-DD TIME:时间包含一日的时、分、秒格式为 HHMMSS,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,有的系统可能还会提供货币型、文本型、图像型等类型。SQL支持空值的概念,空值是RDB中的一个重要概念,与空(或空白)字符串、数值0具有不同的含义,不能把它理解为任何意义的数据。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,2.表达式与运算符,比较运算符谓词逻辑运算符算术运算符,2023/11/8,数据库原理与应用第3章 关系数据库的标
14、准语言SQL东北财经大学 李红,表达式:由一个或多个值、运算符和函数组合而成,可计算出一个值,其数据类型一般为它的成分的数据类型。运算符:是保留的字或字符,主要用于在子句中执行比较和数学运算等操作。在SQL语句中运算符用于确定条件和建立语句中多个条件之间的连接。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,比较运算符其在SQL语句中用于测试单个的值。包括:、!或、用于测试数据相等、不等、小于、大于、小于等于和大于等于的各种情况。当条件满足时,返回True,否则返回False。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东
15、北财经大学 李红,谓词 IS NULL和IS NOT NULL BETWEENAND和NOT BETWEENAND IN LIKE EXISTS和NOT EXISTS UNIQUE ALL和ANY,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,IS NULL 和 IS NOT NULL用于判断字符串的值是否是空值。例如:查询缺少成绩(CJ)的学生的学号。可在WHERE子句中使用的表达式为:CJ IS NULL注意:不能用“”来查找NULL值。若使用“”,则表示要查找的是字符“NULL”,而不是NULL值。例如:查找不属于任何部门的职工。错误的表达式为
16、:BMHNULL,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,BETWEENAND 和 NOT BETWEENAND谓词BETWEEN用于判断值是否在给定的两个值之间,注意包括边值。例如:查找成绩(CJ)在90分到100分之间的学生。可在WHERE子句中使用表达式:CJ BETWEEN 90 AND 100 也可使用表达式:CJ90 AND CJ100显然在可读性上谓词BETWEEN更好一些。BETWEEN前面加上NOT表示否定。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,IN用于判断值是否属于指定的
17、集合。例如:查找职工表中工资(GZ)是否为以下几个值中的一个:4000,5000,6000。可在WHERE子句中使用表达式:GZ IN(4000,5000,6000),2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,LIKE可以用来进行字符串的匹配。其一般语法格式如下:NOT LIKE ESCAPE 在指定的关系中查找指定属性列值与相匹配的元组。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,说明1:中经常使用通配符(百分号)和_(下划线),且可组合使用。其中:(百分号):代表任意长度(长度可能为0)的字符串
18、;_(下划线):代表任意单个字符。例如:A%B以A开头,以B结尾的任意长度的字符串。A_B以A开头,以B结尾长度为3的任意字符串。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,说明2:如果LIKE后面的匹配符中不含通配符,则可以用“”运算符取代谓词LIKE,用或!运算符取代谓词NOT LIKE。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,说明3:若要查询的字符串本身就含有“%”或“_”,则需要使用由ESCAPE指定的换码字符。例如:在WHERE子句中的LIKE谓词为:LIKECOM_cn_ESCAPE
19、(表示以COM_cn开始的最后一个字母任意的字符串)指定的换码字符为,匹配串COM_cn_中的第一个下划线前因为有换码字符,所以将其解释为下划线本身,而不再是通配符;第二个下划线则仍是通配符。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,EXISTS 和 NOT EXISTS格式为:EXISTS(子查询)。用于判断在指定的表中是否存在一行符合某种条件的数据。带有EXISTS谓词的子查询不返回任何数据,当子查询结果非空,返回逻辑真值“True”,否则,返回逻辑假值“False”。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL
20、东北财经大学 李红,UNIQUE用于在指定的表中判断每一行是否是惟一的。ALL和ANY用于将某个值同另一数据集中的每个值相比较。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,逻辑运算符 NOT AND OR,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,NOT将它使用的逻辑运算符的意义反转。如NOT BETWEEN、NOT IN、NOT EXISTS、NOT LIKE、NOT UNIQUE等。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,OR连接多个查询条件,
21、表示至少有一个查询条件成立。例如:查找年龄(NL)为20岁或25岁的学生。可使用表达式为:NL20 OR NL25,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,AND连接多个查询条件,表示所有的查询条件都成立。例如:查找年龄(NL)为25岁,并且家庭住址(ZZ)住在大连的女学生(XB表示性别)。可使用表达式为:NL25 AND ZZ大连AND XB女,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,算术运算符用于执行数学运算的功能。通常有四种操作符:+、*和。可单独使用,也可组合使用。,2023/11/8,
22、数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,3.函数,单行函数 统计函数,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,单行函数单行函数主要分为数值函数、字符函数、日期函数、转换函数等;它对查询的表或视图的每一行返回一个结果行。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,数值函数:用于接受数值输入,返回数值。许多函数的返回值可精确到38位十进制数字,三角函数精确到36位十进制数字。单行字符函数:用于接受字符输入,可返回字符值或数值。日期函数:是操作DATE数据类型的值,所有日期
23、函数都返回一个DATE类型的值。转换函数:是将一种数据类型的值转换成另一种数据类型的值。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,统计函数统计函数是用来累加、合计和显示数据极限的函数,它主要用于给SQL语句提供统计信息。常用的统计函数有COUNT、SUM、MAX、MIN和AVG等。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,4.语法规定与约定,语句格式约定符号:其中的内容为必选项,它表示实际语义,不能为空;:其中内容为任选项;或:必选其中之一项;,n:表示前面的项可以重复多次。,2023/11/8
24、,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,语法规定 一般语法规定SQL中数据项(列项、表和视图)的分隔符为“,”;字符串常数的定界符用单引号“”表示。SQL特殊语法规定SQL的关键词一般使用大写字母表示;SQL语句的结束符为“;”;SQL采用格式化书写方式。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,3.2 数据定义语言,数据库 表 索引 视图 存储过程,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,数据定义语言(DDL)是SQL的一部分,用来定义RDB的模式、外模式和内模
25、式,以实现对RDB的基本表、视图以及索引文件等基本要素的定义、修改和删除等操作。DDL的功能包括:数据库、基本表、索引、视图及存储过程的定义、修改和删除等。,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,3.2.1 数据库,1.创建数据库 2.修改数据库 3.撤消数据库,2023/11/8,数据库原理与应用第3章 关系数据库的标准语言SQL东北财经大学 李红,SQL中,DB被定义为对象(即基本表、视图和索引等)的集合。并包含DB中每一个对象的定义。DB在磁盘上是以文件为单位存储的,由数据文件和日志文件组成。数据文件中实际存放DB所有数据和对象,日志文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 经典 例题 课件

链接地址:https://www.31ppt.com/p-6521012.html