第9章SQL语言初步 本章概迷 本章的学习目标 至要内容 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第1页
数据库系统原理与应用教程(第二版) 第9章 SQL语言初步 第1页 第9章 SQL语言初步 本章概述 本章的学习目标 主要内容
本章概述 前面讲过的关系代数和 Datalog语言虽然可以执行数据库 的查询,但是他们都是一种形式化的语言,表示了从数据 库的关素实中提最数据这些笑系数Datg谣 都是理论上的查询语言,是实际的查询语言的理论技术 ●本章和下一章将要介绍的SQL语言,是一种被众多数据库 品广泛使用的实际的查询语言。按照SQL语言语法编写 各种套询语言可以在数据库中执行各种数据操纵、定义、 控制等操作。 本章将要对SQL语言的产生背景、SQL检索和更新语言 SQL定义语音等内容进行详细的介绍, 章将详细介绍 有关SQL语言的高级特征,例如约束、触发器、游标以及 嵌入式语言等内容。 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第2页
数据库系统原理与应用教程(第二版) 第9章 SQL语言初步 第2页 本章概述 ⚫ 前面讲过的关系代数和Datalog语言虽然可以执行数据库 的查询,但是他们都是一种形式化的语言,表示了从数据 库中提取数据的过程。但是,这些语言不能真正地从数据 库的关系实例中提取数据。这些关系代数和Datalog语言 都是理论上的查询语言,是实际的查询语言的理论技术。 ⚫ 本章和下一章将要介绍的SQL语言,是一种被众多数据库 产品广泛使用的实际的查询语言。按照SQL语言语法编写 的各种查询语言可以在数据库中执行各种数据操纵、定义、 控制等操作。 ⚫ 本章将要对SQL语言的产生背景、SQL检索和更新语言、 SQL定义语言等内容进行详细的介绍,下一章将详细介绍 有关SQL语言的高级特征,例如约束、触发器、游标以及 嵌入式语言等内容
本章的学习目标 ●了解SQL语言的发展过程; ●掌握使用SQL语言检索数据的基本技能; ●掌握连接、子查询等高级查询技术; ●掌握数据更新技术; 掌握各种数据定义语言的功能和涉及的对 象: 掌握SQL语言的递归查询技术。 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第3页
数据库系统原理与应用教程(第二版) 第9章 SQL语言初步 第3页 本章的学习目标 ⚫ 了解SQL语言的发展过程; ⚫ 掌握使用SQL语言检索数据的基本技能; ⚫ 掌握连接、子查询等高级查询技术; ⚫ 掌握数据更新技术; ⚫ 掌握各种数据定义语言的功能和涉及的对 象; ⚫ 掌握SQL语言的递归查询技术
主要内容 91概述 92简单查询语句 93高级查询语句 94数据库更新语句 95数据定义语句 96递归查询 9.7动手练习 98本章小结 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第4页
数据库系统原理与应用教程 (第二版 ) 第 9 章 SQL语言初步 第 4 页 主要内容 9.1 概述 9.2 简单查询语句 9.3 高级查询语句 9.4 数据库更新语句 9.5 数据定义语句 9.6 递归查询 9.7 动手练习 9.8 本章小结
9.1概述 ·SQL是结构化查询语言( Structure Query Language)的 简称,是关系型数据库管理系统中最流行的数据查询和更 新语言。用户可以使用SQL语言在数据库中执行各种操作 司的 San Jose研究所提出的,该语言的最初名称是 Sequel。 1986年,国际标准化组织( nternationa| Standard Organization,SO和美国国家标准协会( American National standards institute,ANS)共同发布了第一个 sQL标准,即SQL-86,该标准也称为sQL-1。 1992年,SO和ANS对SQL86进行了重新修订,发布了 第二个SQL标准,即SQL92,该标准也称为sQL2。 sQL-2标准文本有600多页。 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第5页
数据库系统原理与应用教程(第二版) 第9章 SQL语言初步 第5页 9.1 概述 ⚫ SQL是结构化查询语言(Structure Query Language)的 简称,是关系型数据库管理系统中最流行的数据查询和更 新语言。用户可以使用SQL语言在数据库中执行各种操作 ⚫ 司的San Jose研究所提出的,该语言的最初名称是 Sequel。 ⚫ 1986年,国际标准化组织(International Standard Organization,ISO)和美国国家标准协会(American National Standards Institute,ANSI)共同发布了第一个 SQL标准,即SQL-86,该标准也称为SQL-1。 ⚫ 1992年,ISO和ANSI对SQL-86进行了重新修订,发布了 第二个SQL标准,即SQL-92,该标准也称为SQL-2。 SQL-2标准文本有600多页
SQL查询语言 sQL查询语言包括了所有对数据库的操作,这些操作可以 分为四个部分,即数据定义语言、数据操纵语言、数据控 制语言和嵌入式SQL语言。其功能 所示 数据定义语言 Data Definition Language,DDL主要是定义数 库的逻辑结构,包括定义基本表视图和索引从用的角度 看,基本的DDL包括三类语言,即定义、修改和删除。 数据操纵语言( Data Manipulation Language,DML)包括数据检 索和数据更新两大类操作,其中数据更新包括插入、删除和修改 三种操作。 数据控制语言( Data Control Language,Dcu包括基本表和视 图的授权、完整性规则的描述以及事务开始和结東等控制语句等 嵌入式SQL语言规定了SQL语句在宿主语言程序中使用的各种规 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第6页
数据库系统原理与应用教程(第二版) 第9章 SQL语言初步 第6页 SQL查询语言 ⚫ SQL查询语言包括了所有对数据库的操作,这些操作可以 分为四个部分,即数据定义语言、数据操纵语言、数据控 制语言和嵌入式SQL语言。其功能如下所示: ►数据定义语言(Data Definition Language,DDL)主要是定义数 据库的逻辑结构,包括定义基本表、视图和索引。从用户的角度 来看,基本的DDL包括三类语言,即定义、修改和删除。 ►数据操纵语言(Data Manipulation Language,DML)包括数据检 索和数据更新两大类操作,其中数据更新包括插入、删除和修改 三种操作。 ►数据控制语言(Data Control Language,DCL)包括基本表和视 图的授权、完整性规则 的描述以及事务开始和结束等控制语句等。 ►嵌入式SQL语言规定了SQL语句在宿主语言程序中使用的各种规 则
主要内容 91概述 92简单查询语句 93高级查询语句 94数据库更新语句 95数据定义语句 96递归查询 9.7动手练习 98本章小结 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第7页
数据库系统原理与应用教程 (第二版 ) 第 9 章 SQL语言初步 第 7 页 主要内容 9.1 概述 9.2 简单查询语句 9.3 高级查询语句 9.4 数据库更新语句 9.5 数据定义语句 9.6 递归查询 9.7 动手练习 9.8 本章小结
92简单查询语句 本节主要介绍最简单的一些查询语句 ●查询语句的执行离不开数据库模式实例, 如图9-2所示的数据库模式实例正是前面我 们一直使用的图书管理数据库模式。 ●我们使用的SQL查询示例都与该数据库模 式有关。 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第8页
数据库系统原理与应用教程(第二版) 第9章 SQL语言初步 第8页 9.2 简单查询语句 ⚫ 本节主要介绍最简单的一些查询语句。 ⚫ 查询语句的执行离不开数据库模式实例, 如图9-2所示的数据库模式实例正是前面我 们一直使用的图书管理数据库模式。 ⚫ 我们使用的SQL查询示例都与该数据库模 式有关
最简单的查询语句 最常角的兰下吴键学分别是 ELECT FROM和ERE。 SELECT子句用于指定属性的名称,只有指定的属性才能在查询集中 出现。不过 点例外,如果希望检索到关系中的所有属性 息,那 么可以使用星号 来代替列世所看的属性名称,且列出的属性顺序与 关系模式定文的属性顺序相同。 FRoM子句用于列出查询所涉及的关系名称。在本章后面将会看到, 在FRoM子句中不仅仅可以列出 关系的名称,而且可以列出许多 关系的名称。当然,列函的关系名称都是将要查询的对象。 WHERE子句用于给出查询的条件,就像关系代数中的选择条件一样, 只有匹配这些条件的元组才能出现在结果中。有关条件的构成形式, 本章将会详细地讲述。 在 SELECT语句的这三个子句中,只有 SELECT和FROM是必须出现 的 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第9页
数据库系统原理与应用教程(第二版) 第9章 SQL语言初步 第9页 最简单的查询语句 ⚫ SQL语言中的查询语句使用SELECT语句来执行。在SELECT语句中, 最常用的三个关键字分别是SELECT、FROM和WHERE。 ⚫ SELECT子句用于指定属性的名称,只有指定的属性才能在查询集中 出现。不过有一点例外,如果希望检索到关系中的所有属性信息,那 么可以使用星号(*)来代替列出所有的属性名称,且列出的属性顺序与 关系模式定义的属性顺序相同。 ⚫ FROM子句用于列出查询所涉及的关系名称。在本章后面将会看到, 在FROM子句中不仅仅可以列出一个关系的名称,而且可以列出许多 关系的名称。当然,列出的关系名称都是将要查询的对象。 ⚫ WHERE子句用于给出查询的条件,就像关系代数中的选择条件一样, 只有匹配这些条件的元组才能出现在结果中。有关条件的构成形式, 本章将会详细地讲述。 ⚫ 在SELECT语句的这三个子句中,只有SELECT和FROM是必须出现 的
投影 在很多情况下,我们都是根据自己的需要来查询 信息的。也就是说,可以把查询涉及的关系投影 到某些属性上面,这样可以减少结果中的没有意 义的信 例如,假如我们不希望列出每一个元组的所有属 性,而只是希望列出图书的书名、价格和出版社 信息,那么可以使用如图9-5所示的查询语句。 SELECT title, price, pressName FROM BoOK 数据库系统原理与应用教程(第二版) 第9章SQL语言初步 第10页
数据库系统原理与应用教程(第二版) 第9章 SQL语言初步 第10页 投影 ⚫ 在很多情况下,我们都是根据自己的需要来查询 信息的。也就是说,可以把查询涉及的关系投影 到某些属性上面,这样可以减少结果中的没有意 义的信息量。 ⚫ 例如,假如我们不希望列出每一个元组的所有属 性,而只是希望列出图书的书名、价格和出版社 信息,那么可以使用如图9-5所示的查询语句