(中职)数据库应用基础——Visual FoxPro模块4教学课件.ppt

上传人:春哥&#****71; 文档编号:78003331 上传时间:2023-03-16 格式:PPT 页数:51 大小:971.50KB
返回 下载 相关 举报
(中职)数据库应用基础——Visual FoxPro模块4教学课件.ppt_第1页
第1页 / 共51页
(中职)数据库应用基础——Visual FoxPro模块4教学课件.ppt_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《(中职)数据库应用基础——Visual FoxPro模块4教学课件.ppt》由会员分享,可在线阅读,更多相关《(中职)数据库应用基础——Visual FoxPro模块4教学课件.ppt(51页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、YCF正版可修改PPT(中职)数据库应用基础Visual FoxPro模块4教学课件模块模块4 关系数据库标准语言关系数据库标准语言SQL单元单元1 SQL语言的特点语言的特点单元单元2 数据定义语言数据定义语言单元单元3 数据更新数据更新单元单元4 SQL的数据查询功能的数据查询功能单元单元1 SQL语言的特点语言的特点SQL全称为全称为Structured Query Language,即结构化查,即结构化查询语言,它是一种非过程化的语言。由于询语言,它是一种非过程化的语言。由于SQL具有功能丰富、具有功能丰富、使用方式灵话、语言简洁易学等突出特点,所以它在计算机使用方式灵话、语言简洁易学

2、等突出特点,所以它在计算机界深受广大用户欢迎。界深受广大用户欢迎。SQL已经被国际标准化组织已经被国际标准化组织(ISO)认定为关系数据库标准语言,认定为关系数据库标准语言,其核心是数据查询。所有的关系数据库管理系统都支持其核心是数据查询。所有的关系数据库管理系统都支持SQL。SQL语言具有如下特点。语言具有如下特点。1一体化语言一体化语言SQL是一体化语言,是指它集数据定义、数据操作、数据查是一体化语言,是指它集数据定义、数据操作、数据查询及数据控制于一体,它可以完成数据库话动中的几乎所有询及数据控制于一体,它可以完成数据库话动中的几乎所有功能,包括定义数据库和表结构,输入数据及建立数据库查

3、功能,包括定义数据库和表结构,输入数据及建立数据库查询、更新、维护和重构,以及数据库安全性控制等一系列操询、更新、维护和重构,以及数据库安全性控制等一系列操作,从而为数据库应用系统的开发提供了良好的环境。作,从而为数据库应用系统的开发提供了良好的环境。下一页返回单元单元1 SQL语言的特点语言的特点2.高度非过程化高度非过程化用用SQL语言进行数据操作时,用户只需提出语言进行数据操作时,用户只需提出“做什么做什么”,而,而不必指明不必指明“如何去做如何去做”。因此大大减轻了用户的负担,提高。因此大大减轻了用户的负担,提高了程序设计的生产率和系统的数据独立性。了程序设计的生产率和系统的数据独立性

4、。3.集合化操作方式集合化操作方式SQL语言采用集合化操作方式,不仅查找结果可以是记录的语言采用集合化操作方式,不仅查找结果可以是记录的集合,而且操作对象的一次插入、删除、更新也可以是记录集合,而且操作对象的一次插入、删除、更新也可以是记录的集合。的集合。上一页 下一页返回单元单元1 SQL语言的特点语言的特点4.应用方式灵话应用方式灵话SQL语言的使用方式比较灵话,它既是自含式语言,又是嵌语言的使用方式比较灵话,它既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在键盘上直接输入使用方式,用户可以在

5、键盘上直接输入SQL命令对数据库进命令对数据库进行操作。作为嵌入式语言,行操作。作为嵌入式语言,SQL语句能够嵌入到高级语言语句能够嵌入到高级语言(如如C、FORTRAN等等)程序中以程序方式使用。无沦程序中以程序方式使用。无沦SQL以何以何种方式使用,种方式使用,SQL语言的语法结构基本上是一致的,绝大多语言的语法结构基本上是一致的,绝大多数数据库应用开发工具或高级程序设计语言都把数数据库应用开发工具或高级程序设计语言都把SQL语言直语言直接融入到自身的语言环境中。接融入到自身的语言环境中。上一页返回单元单元1 SQL语言的特点语言的特点5.语言简洁,易学易用语言简洁,易学易用SQL语言所能

6、实现的功能十分强大,几乎覆盖了数据库中的语言所能实现的功能十分强大,几乎覆盖了数据库中的所有功能。而它的语法结构十分简练,易学,只使用了很少所有功能。而它的语法结构十分简练,易学,只使用了很少的几条命令如的几条命令如CREATE、DROP、ALTER、SELECT、INSERTUPDATE、DELETE、GRANT、REVOKE就可就可以完成数据定义、数据操纵、数据控制和数据查询等核心功以完成数据定义、数据操纵、数据控制和数据查询等核心功能,十分接近自然语言的特点。能,十分接近自然语言的特点。上一页返回单元单元2 数据定义语言数据定义语言数据定义语言数据定义语言(data definition

7、 language)是用于向数据是用于向数据库管理系统声明数据库结构的语言。它由库管理系统声明数据库结构的语言。它由CREATE、DROP和和ALTER命令组成。下面针对表对象对其进行讲解。命令组成。下面针对表对象对其进行讲解。任务任务2.1创建表创建表建立一个数据库,其中主要的操作就是定义一些基本表,在建立一个数据库,其中主要的操作就是定义一些基本表,在SQL中,可使用中,可使用Create Table语句定义基本表。语句定义基本表。2.1.1语句格式语句格式创建表的语句格式如下创建表的语句格式如下:Create Table(表名表名)(下一页返回单元单元2 数据定义语言数据定义语言,1)2

8、.1.2语句功能语句功能上述语句创建一个以上述语句创建一个以为名的、以指定的字段属性定义为名的、以指定的字段属性定义的表结构。的表结构。2.1.3参数说明参数说明1.和和这是所要定义的基本表的名字,基本表可以由一个字段或多这是所要定义的基本表的名字,基本表可以由一个字段或多字段组成,每一字段必须定义字段名和数据类型。字段组成,每一字段必须定义字段名和数据类型。上一页 下一页返回单元单元2 数据定义语言数据定义语言2.定义表结构的同时,通常还可以定义与该表有关的完整性约定义表结构的同时,通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入到数据字典中,当用户束条件,这些完整性约束条

9、件被存入到数据字典中,当用户对表中数据进行操作时,由数据库自动检查该操作是否违背对表中数据进行操作时,由数据库自动检查该操作是否违背这些完整性约束条件这些完整性约束条件;如果完整性约束条件涉及该表的多个属如果完整性约束条件涉及该表的多个属性字段,则必须定义表级别完整性约束条件。性字段,则必须定义表级别完整性约束条件。3.字段级完整性约束包括字段级完整性约束包括:Primary key约束、约束、Foreign key约束、约束、Unique约束、约束、Check约束和约束和Not null或或Null约束。约束。(1)Primary key约束约束Primary key约束也称主关键字约束,用

10、于定义实体完整约束也称主关键字约束,用于定义实体完整性约束,该约束用于定义表中某字段为主关键字,而且约束性约束,该约束用于定义表中某字段为主关键字,而且约束主关键字的唯一性和非空性。主关键字的唯一性和非空性。上一页 下一页返回单元单元2 数据定义语言数据定义语言该约束可在字段级或表级上进行定义,但不允许同时在两个该约束可在字段级或表级上进行定义,但不允许同时在两个级别上进行定义。字段级约束可直接写在字段名及其类型之级别上进行定义。字段级约束可直接写在字段名及其类型之后由后由Primary key短语定义短语定义;表级约束在所有字段名及其类表级约束在所有字段名及其类型之后由型之后由Constra

11、intPrimary key短语定义。短语定义。(2)Foreign key约束约束Foreign key约束也称为外部关键字约束或参照表约束,用约束也称为外部关键字约束或参照表约束,用于定义参照完整性,即用来维护两个基本表之间的一致性关于定义参照完整性,即用来维护两个基本表之间的一致性关系。系。Foreign key约束不仅可以与另一基本表上的约束不仅可以与另一基本表上的Primary key约束建立联系,也可以与另一基本表上的约束建立联系,也可以与另一基本表上的Unique约束建立联系约束建立联系;该约束可在字段级或表级上进行定义,该约束可在字段级或表级上进行定义,但不允许同时在两个级别上

12、进行定义但不允许同时在两个级别上进行定义;字段级约束如果外关键字段级约束如果外关键字只有一个字段,可在它的字段名和类型后面直接由字只有一个字段,可在它的字段名和类型后面直接由References()短语定义短语定义;表级约表级约束在所有字段名及其类型之后由束在所有字段名及其类型之后由ConstraintForeign key)References()短语定义,其中,短语定义,其中,是外键字是外键字;()是被参照基本表中的字段名。是被参照基本表中的字段名。上一页 下一页返回单元单元2 数据定义语言数据定义语言(3)Unique约束约束Unique约束主要用在非主关键字的一字段或多字段上要求约束主

13、要用在非主关键字的一字段或多字段上要求数据唯一的情况,可在一个表上设置多个数据唯一的情况,可在一个表上设置多个Unique约束,而约束,而在一个表上只能设置一个主关键字,在一个表上只能设置一个主关键字,Unique约束也可在字约束也可在字段级或在表级上设置,若在多于一字段的表上设置段级或在表级上设置,若在多于一字段的表上设置Unique约束,则必须设置表级约束约束,则必须设置表级约束;字段级约束可直接写在字段名及字段级约束可直接写在字段名及其类型之后由其类型之后由Unique短语定义短语定义;表级约束在所有字段名及其表级约束在所有字段名及其类型之后由类型之后由ConstraintUnique短

14、语定义。短语定义。(4)Check约束约束Check约束是域完整性约束,它就像一个检查员,当输入字约束是域完整性约束,它就像一个检查员,当输入字段值时对每一个数据进行有效性的检查,只有符合约束条件段值时对每一个数据进行有效性的检查,只有符合约束条件的数据才可输入到表中。可在一字段上设置多个的数据才可输入到表中。可在一字段上设置多个Check约束,约束,也可将一个也可将一个Check约束应用于多字段约束应用于多字段;字段级字段级/表级约束可由表级约束可由ConstraintCheck()短语短语定义。定义。上一页 下一页返回单元单元2 数据定义语言数据定义语言(5)Not null约束与约束与N

15、ull约束约束Not null约束不允许字段值为空,而约束不允许字段值为空,而Null约束允许字段值为约束允许字段值为空。空。例例4-1创建创建“人才档案人才档案”数据库的基本表,已知有以下数据库的基本表,已知有以下3个个关系模式,创建关系模式,创建3个基本表,表名分别为人才档案、成就成果、个基本表,表名分别为人才档案、成就成果、专业特长。专业特长。人才档案人才档案(编号、姓名、性别、出生日期、学历、政治面貌、编号、姓名、性别、出生日期、学历、政治面貌、民族、工资现状、工作简历、照片民族、工资现状、工作简历、照片)。成就成果成就成果(编号、成果名称、成果类别、成果出处编号、成果名称、成果类别、

16、成果出处)。专业特长专业特长(编号、专业、毕业学校、专业年限、职称、语种、编号、专业、毕业学校、专业年限、职称、语种、外语水平外语水平)。具体步骤如下。具体步骤如下。创建创建“人才档案表人才档案表”的的SQL语句如语句如图图4-1所示。所示。创建创建“成就成果成就成果”表的表的SQL语句如语句如图图4-2所示。所示。创建创建“专业特长专业特长”表的表的SQL语句如语句如图图4-3所示。所示。上一页 下一页返回单元单元2 数据定义语言数据定义语言任务任务2.2修改表结构修改表结构随着应用环境和应用需求的变化,创建完成的表一旦不能满随着应用环境和应用需求的变化,创建完成的表一旦不能满足应用系统的需

17、求,则需要修改已建立好的表结构,足应用系统的需求,则需要修改已建立好的表结构,SQL用用Alter Table语句修改表的结构。语句修改表的结构。2.2.1语句格式语句格式Alter Table语句的格式如下语句的格式如下:A1ter Table(表名表名Add;Drop ConstraintlColumn,Alter,;2.2.2语句功能语句功能上述语句用于修改以上述语句用于修改以为名的表结构。为名的表结构。上一页 下一页返回单元单元2 数据定义语言数据定义语言2.2.3说明说明:是指要修改表结构的表的名字。是指要修改表结构的表的名字。Add子句子句:用于增加新字段和新的完整性约束条件。用于

18、增加新字段和新的完整性约束条件。Drop子句子句:用于删除指定的字段和完整性约束。当删除某用于删除指定的字段和完整性约束。当删除某一字段时,所有引用该字段的视图和约束也一起自动被删除一字段时,所有引用该字段的视图和约束也一起自动被删除(也有的系统规定,若删除某一字段时,只有当没有视图和约也有的系统规定,若删除某一字段时,只有当没有视图和约束引用该字段时,才能进行,否则将被拒绝束引用该字段时,才能进行,否则将被拒绝)。Alter子句子句:用于修改原有的字段的定义,包括修改字段名、用于修改原有的字段的定义,包括修改字段名、字段的宽度和字段的数据类型。字段的宽度和字段的数据类型。例例4-2修改修改“

19、人才管理人才管理”数据库中已有表的结构,在数据库中已有表的结构,在“人才档人才档案表案表”中增加一个中增加一个“工龄工龄”字段字段;将将“人才档案表人才档案表”中的中的“照片资照片资料料”字段删除字段删除;修改修改“专业特点专业特点”表中表中“编号编号”字段的数据类型。字段的数据类型。具体步骤如下。具体步骤如下。增加字段的增加字段的SQL语句如语句如图图4-4所示。所示。上一页 下一页返回单元单元2 数据定义语言数据定义语言删除字段的删除字段的SQL语句如语句如图图4-5所示。所示。修改字段属性的修改字段属性的SQL语句如语句如图图4-6所示。所示。任务任务2.3删除表删除表当某个表不再需要时

20、,可以使用当某个表不再需要时,可以使用Drop Table语句删除表。语句删除表。2.3.1语句格式语句格式Drop Table上一页返回下一页单元单元2 数据定义语言数据定义语言2.3.2语句功能语句功能删除以删除以为名的表。为名的表。2.3.3说明说明语句中的语句中的是指要删除的表的名字。是指要删除的表的名字。表一旦删除,表中的数据无法恢复,此时系统释放其所占用表一旦删除,表中的数据无法恢复,此时系统释放其所占用的存储空间,因此执行删除表的操作一定要格外小心。的存储空间,因此执行删除表的操作一定要格外小心。例例4-3J删除删除“学生学生”数据库中的数据库中的“学生信息学生信息”表。删除表表

21、。删除表的的SQL语句如语句如图图4-7所示。所示。上一页返回单元单元3 数据更新数据更新SQL语句的数据更新包括表中数据的插入、修改和删除等相语句的数据更新包括表中数据的插入、修改和删除等相关操作。关操作。任务任务3.1插入记录插入记录在表操作中,给表添加数据是常用的表操作,这里所介绍的在表操作中,给表添加数据是常用的表操作,这里所介绍的插入数据语句是在表的尾部添加一个记录。插入数据语句是在表的尾部添加一个记录。在在SQL中,插入数据使用中,插入数据使用Insert语句。语句。3.1.1语句格式语句格式Insert Into(,.)Values,3.1.2语句功能语句功能上述语句将一个新记录

22、上述语句将一个新记录(一行数据一行数据)插入以插入以为名的表中。为名的表中。下一页返回单元单元3 数据更新数据更新3.1.3说明说明:是指要插入数据的表名。是指要插入数据的表名。Into子句中的子句中的,.指表中指表中插入新值的字段。插入新值的字段。Values子句中的子句中的,.指表中插指表中插入新值字段的值,其中各常量的数据类型必须与入新值字段的值,其中各常量的数据类型必须与Into子句中子句中所对应字段的数据类型相同,且个数也要匹配。所对应字段的数据类型相同,且个数也要匹配。如果省略如果省略Into子句后面的选项,则新插入元组的每一字段,子句后面的选项,则新插入元组的每一字段,必须在必须

23、在Values子句中有值对应。子句中有值对应。例例4-4给给“人才人才”数据库中的数据库中的“人才档案表人才档案表”添加以下两添加以下两组数据。组数据。(Bx315,刘捷伟,刘捷伟,03/21/73,本科,党员,本科,党员,8320,略,略略,略)(Bx355,刘克简,刘克简,03/2/82,专科,民主党派,专科,民主党派,6800,略,略,略,略)上一页 下一页返回单元单元3 数据更新数据更新向表中插入数据的向表中插入数据的SQL语句如语句如图图4-8所示。所示。结果如结果如图图4-9所示。所示。任务任务3.2更新记录更新记录更新表中的数据同样是表操作的一个经常性任务,表中的更更新表中的数据

24、同样是表操作的一个经常性任务,表中的更新数据语句,是对所有记录或满足条件的指定记录进行操作。新数据语句,是对所有记录或满足条件的指定记录进行操作。在在SQL中,更新数据表中的数据可使用中,更新数据表中的数据可使用Update语句。语句。3.2.1语句格式语句格式UpdateSet=,=,Where3.2.2语句功能语句功能上述语句更新以上述语句更新以为名的表中数据。为名的表中数据。上一页 下一页返回单元单元3 数据更新数据更新3.2.3说明说明:指要更新数据的表的名字。指要更新数据的表的名字。=:用用的值取代对应的值取代对应的字段值,且一次可以修改多个字段的字段值。的字段值,且一次可以修改多个

25、字段的字段值。Where:指出表中需要更新数据字段值的指出表中需要更新数据字段值的记录应满足的条件,如果省略记录应满足的条件,如果省略Where子句,则更新表中的全子句,则更新表中的全部记录指定的字段值。部记录指定的字段值。Where子句也可以嵌入子查询。子句也可以嵌入子查询。例例4-5更新更新“人才人才”数据库中的数据库中的“人才档案人才档案”表中的数据,将表中的数据,将所有的所有的“政治面貌政治面貌”字段取值为字段取值为“民主党派民主党派”更新为更新为“非党员非党员”。更新表中数据的更新表中数据的SQL语句如语句如图图4-10所示。所示。任务任务3.3则除记录则除记录SQL语句的删除数据语

26、句,是对表中所有记录或满足条件的语句的删除数据语句,是对表中所有记录或满足条件的指定记录进行删除操作。在指定记录进行删除操作。在SQL中,删除表中数据可使用中,删除表中数据可使用DELETE语句。语句。上一页 下一页返回单元单元3 数据更新数据更新3.3.1语句格式语句格式Delete FromWhere3.3.2语句功能语句功能上述语句删除以上述语句删除以为名的表中满足为名的表中满足的数据。的数据。3.3.3说明说明:指要删除数据的表的名字。指要删除数据的表的名字。Delete语句删除的是表中的数据,而不是表的定义。语句删除的是表中的数据,而不是表的定义。省略省略Where子句,表示删除表中

27、的全部数据。子句,表示删除表中的全部数据。Where子句也可以嵌入子查询。子句也可以嵌入子查询。例例4-6J删除删除“人才人才”数据库中的数据库中的“人才档案表人才档案表”中的数据,中的数据,将所有的将所有的“学历学历”字段取值字段取值“大专大专”的数据进行逻辑删除。的数据进行逻辑删除。逻辑删除表中数据的逻辑删除表中数据的SQL语句如语句如图图4-11所示。所示。上一页返回单元单元4 SQL的数据查询功能的数据查询功能任务任务4.1查询语句查询语句查询语句查询语句SELECT用于从一个或多个表中检索数据。其格式如下用于从一个或多个表中检索数据。其格式如下:下一页返回单元单元4 SQL的数据查询

28、功能的数据查询功能说明说明:在在SELECT子句中指定查询结果中包含的字段、常量和子句中指定查询结果中包含的字段、常量和表达式。表达式。ALL查询结果中包含所有记录,包括重复记录。查询结果中包含所有记录,包括重复记录。DISTINCT在查询结果中剔除重复的行。在查询结果中剔除重复的行。FROM子句用于指定记录的来源,列出所查的表或视图名,子句用于指定记录的来源,列出所查的表或视图名,也可以加上表的别名。也可以加上表的别名。WHERE选项用于指明查询结果中的记录满足的条件。选项用于指明查询结果中的记录满足的条件。GROUP BY短语将查询结果按某一列短语将查询结果按某一列(或多个列或多个列)的值

29、进的值进行分组。行分组。HAVING子句只与子句只与GROUP BY配合使用,用于说明分组配合使用,用于说明分组条件。条件。ORDER BY短语将查询结果按升序或降序排列。短语将查询结果按升序或降序排列。INTO Destination指定在何处保存查询结果。指定在何处保存查询结果。INTO ARRAY ArrayName将查询结果存入数组中。将查询结果存入数组中。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能INTO CURSORalias name将查询结果存入临时表中。将查询结果存入临时表中。(11)INTO TABLE TableName将查询结果存入新表中。将查询结

30、果存入新表中。(12)TO FILE FileName将查询结果存入文本文件中。将查询结果存入文本文件中。查询语句中的条件表达式可以使用如下运算符。查询语句中的条件表达式可以使用如下运算符。BETWEEN.AND表示值在某个范围内,包括边界。表示值在某个范围内,包括边界。例如,年龄例如,年龄BETWEEN 15 AND 20。IN表示值属于指定集合的元组。例如,表示值属于指定集合的元组。例如,IN(张三,李四,张三,李四,王小二王小二)。LIKE用于字符串的匹配,可以使用通配符。用于字符串的匹配,可以使用通配符。“%”表示。表示。个或多个字符,个或多个字符,“一一”表示任何一个字符。例如,姓名

31、表示任何一个字符。例如,姓名LIKE“刘刘%”。ANY字段的内容满足一个条件就为真。字段的内容满足一个条件就为真。ALL满足子查询中所有值的记录。满足子查询中所有值的记录。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能SELECT命令的基本结构是命令的基本结构是SELECT.FORM.WHERE,它包含输出字段,它包含输出字段数据来源数据来源查询条件。在这种固定模式中,可以不要查询条件。在这种固定模式中,可以不要WHERE,但是,但是SELECT和和FROM是必备的。是必备的。任务任务4.2查询介类查询介类4.2.1简单查询简单查询简单查询是基于一个表的查询,查询结果的数据来

32、自一个表,简单查询是基于一个表的查询,查询结果的数据来自一个表,命令形式是命令形式是FROM短语后只列出一个表名。可以由短语后只列出一个表名。可以由SELECT和和FROM短语构成无条件查询,也可以由短语构成无条件查询,也可以由SELECT、FROM和和WHERE短语构成条件查询。短语构成条件查询。SELECT短语指定表中的属短语指定表中的属性,性,WHERE短语用于指明查询条件。短语用于指明查询条件。例例4-7列出列出“新生入学信息新生入学信息.DBF”表的数据。表的数据。OPEN DATABASE学生管理学生管理&打开打开“学生管理学生管理”数据库数据库SELECT*FROM新生入学信息新

33、生入学信息BROWSE上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能屏幕上将显示出屏幕上将显示出“新生入学信息新生入学信息.DBF”表中的数据。表中的数据。例例4-8列出列出“新生入学信息新生入学信息.DBF”表中所有记录中的编号、表中所有记录中的编号、姓名、性别、出生日期、是否团员、入学成绩,专业姓名、性别、出生日期、是否团员、入学成绩,专业7个字段。个字段。SELECT编号,姓名,性别,出生日期,入学成绩编号,姓名,性别,出生日期,入学成绩AS“高考高考成绩成绩”,专业,专业FROM新生入学信息新生入学信息屏幕上将显示如屏幕上将显示如图图4-12所示的结果。所示的结果。例

34、例4-9求出求出“新生入学信息新生入学信息.DBF”表中表中“英语英语”专业新生专业新生入学成绩平均分。入学成绩平均分。SELECT专业,专业,AVG(入学成绩入学成绩)AS“入学成绩平均分入学成绩平均分”FROM新生入学信息新生入学信息;WHERE专业专业=“英语英语”显示结果如显示结果如图图4-13所示。所示。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能例例4-10列出列出“新生入学信息新生入学信息.DBF”表中非表中非“英语英语”专业的专业的学生名单。学生名单。SELECT编号,姓名,入学成绩编号,姓名,入学成绩AS“高考成绩高考成绩”,专业,专业;FROM新生入学信

35、息新生入学信息WHERE专业专业“英语英语”显示结果如显示结果如图图4-14所示。所示。上述结果也可以用下面命令实现上述结果也可以用下面命令实现:SELECT编号,姓名,入学成绩编号,姓名,入学成绩AS“高考成绩高考成绩”,专业,专业;FROM新生入学信息新生入学信息WHERE专业专业IN(“物理物理”,“化学化学”,“数学数学”,“政治政治”)例例4-11列出列出“新生入学信息新生入学信息.DBF”表中入学成绩在表中入学成绩在550分到分到590分之间的学生名单。分之间的学生名单。SELECT编号,姓名,入学成绩编号,姓名,入学成绩AS“高考成绩高考成绩”,专业,专业;FROM新生入学信息新

36、生入学信息WHERE入学成绩入学成绩BETWEEN 550 AND 590显示结果如显示结果如图图4-15所示。所示。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能例例4-12列出列出“新生入学信息新生入学信息.DBF”表中所有姓表中所有姓“刘刘”学生学生的姓名、编号、高考成绩和专业。的姓名、编号、高考成绩和专业。SELECT编号,姓名,入学成绩编号,姓名,入学成绩AS高考成绩高考成绩”,专业,专业;FROM新生入学信息新生入学信息WHERE姓名姓名LIKE“刘刘%”显示结果如显示结果如图图4-16所示。所示。4.2.2嵌套查询嵌套查询嵌套查询是一类基于多个关系的查询。当一个

37、嵌套查询是一类基于多个关系的查询。当一个SELECT命令命令完成查询任务时,需要一个子完成查询任务时,需要一个子SELECT的结果作为条件语句的结果作为条件语句的条件,即需要在一个的条件,即需要在一个SELECT命令的命令的WHERE子句中出现子句中出现另一个另一个SELECT命令,在命令,在WHERE短语后面的逻辑表达式中短语后面的逻辑表达式中含有对其他表的查询,这种查询称为嵌套查询。在嵌套查询含有对其他表的查询,这种查询称为嵌套查询。在嵌套查询中,有两个中,有两个SELECT.FROM查询块。虽然嵌套查询是基于查询块。虽然嵌套查询是基于多个关系的查询,但它的最终查询结果却是一个关系,数据多

38、个关系的查询,但它的最终查询结果却是一个关系,数据源是外层查询的源是外层查询的FROM短语所指定的表。短语所指定的表。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能例例4-13首先建立如首先建立如表表4-1所示结构和所示结构和表表4-2所示的数据库所示的数据库表表“学生宿舍学生宿舍”,然后列出宿舍为,然后列出宿舍为302所在班学生的姓名和所在班学生的姓名和平均成绩。平均成绩。操作步骤如下。操作步骤如下。打开表设计器,添加打开表设计器,添加表表4-1学生宿舍学生宿舍.DBF”表结构中的字段,表结构中的字段,然后添加如然后添加如表表4-2所示的数据。继续执行如下命令所示的数据。继

39、续执行如下命令:SELECT姓名,入学成绩姓名,入学成绩FROM新生入学信息新生入学信息;WHERE班级班级=(SELECT班级班级FROM学生宿舍学生宿舍WHERE宿宿舍舍=“302”)上面的上面的SQL语句执行了两个过程,首先在语句执行了两个过程,首先在“学生宿舍学生宿舍.DBF”表中找出表中找出“宿舍宿舍”字段值为字段值为302的班级,然后再在的班级,然后再在“新生入新生入学信息学信息.DBF”表中列出该班级学生的姓名和平均成绩。表中列出该班级学生的姓名和平均成绩。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能例例4-14根据根据“新生入学信息新生入学信息.DBF”和和

40、“学生宿舍学生宿舍.DBF,列出宿舍为列出宿舍为302所在班学生入学成绩所在班学生入学成绩530的学生的姓名和的学生的姓名和平均成绩。平均成绩。SELECT姓名,平均成绩姓名,平均成绩FROM新生入学信息新生入学信息WHERE入学入学成绩成绩530;AND班级班级=(SELECT班级班级FROM学生宿舍学生宿舍WHERE宿舍宿舍=“302”)4.2.3联接查询联接查询1.简单的联接查询简单的联接查询联接是基于多个关系的查询,即联接是基于多个关系的查询,即FROM后面有多个表。后面有多个表。SELECT后面的属性可以来自多个表,如果不同表中含有相后面的属性可以来自多个表,如果不同表中含有相同的字

41、段,必须用表名指出字段所在的表,格式为同的字段,必须用表名指出字段所在的表,格式为:表名表名.字段名字段名WHERE短语后面指出联接条件。短语后面指出联接条件。为了避免使用表名的麻烦,可以使用表别名。为了避免使用表名的麻烦,可以使用表别名。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能2.自联接查询自联接查询自联接查询是指一个表自己和自己联接。能够实现自联接的自联接查询是指一个表自己和自己联接。能够实现自联接的前提是该关系中的两个属性具有相同的值域。在实现自联接前提是该关系中的两个属性具有相同的值域。在实现自联接时,必须为表指定别名。时,必须为表指定别名。3.超联接查询超联接

42、查询超联接查询是两个关系的查询,首先保证一个关系中满足条超联接查询是两个关系的查询,首先保证一个关系中满足条件的记录都出现在结果中,然后将满足联接条件的记录与另件的记录都出现在结果中,然后将满足联接条件的记录与另一个关系中的记录进行联接一个关系中的记录进行联接;若不满足联接条件,就把来自另若不满足联接条件,就把来自另一个关系的属性值设置为空值。联接条件应出现在一个关系的属性值设置为空值。联接条件应出现在ON短语中,短语中,一定要紧跟着一定要紧跟着JOIN短语,短语,WHERE短语置于短语置于ON短语的后面。短语的后面。超联接有以下几种形式。超联接有以下几种形式。INNER JOIN(内联接内联

43、接),所有满足联接条件的记录都包,所有满足联接条件的记录都包含在查询结果中。例如前面所举的例子。含在查询结果中。例如前面所举的例子。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能LEFT JOIN(左联接左联接),系统执行过程是左表的某条记录,系统执行过程是左表的某条记录与右表的所有记录依次比较,若有满足联接条件的,则产生与右表的所有记录依次比较,若有满足联接条件的,则产生一个真实值记录一个真实值记录;若都不满足,则产生一个含有若都不满足,则产生一个含有NULL值的记值的记录。接着,左表的下一记录与右表的所有记录依次比较字段录。接着,左表的下一记录与右表的所有记录依次比较字段

44、值,重复上述过程,直到左表所有记录都比较完为止。联接值,重复上述过程,直到左表所有记录都比较完为止。联接结果的记录个数与左表的记录个数一致。结果的记录个数与左表的记录个数一致。RIGHT JOIN(右联接右联接),系统执行过程是右表的某条记,系统执行过程是右表的某条记录与左表的所有记录依次比较,若有满足联接条件的,则产录与左表的所有记录依次比较,若有满足联接条件的,则产生一个真实值记录生一个真实值记录;若都不满足,则产生一个含有若都不满足,则产生一个含有NULL值的值的记录。接着,右表的下一记录与左表的所有记录依次比较字记录。接着,右表的下一记录与左表的所有记录依次比较字段值,重复上述过程,直

45、到左表所有记录都比较完为止。联段值,重复上述过程,直到左表所有记录都比较完为止。联接结果的记录个数与右表的记录个数一致。接结果的记录个数与右表的记录个数一致。上一页 下一页返回单元单元4 SQL的数据查询功能的数据查询功能FULL JOIN(完全联接完全联接),系统执行过程是先按右联接比,系统执行过程是先按右联接比较字段值,然后按左联接比较字段值,重复记录不列入查询较字段值,然后按左联接比较字段值,重复记录不列入查询结果中。结果中。4.分组查询分组查询分组查询使用分组查询使用GROUP BY短语来实现,还可以进一步用短语来实现,还可以进一步用HAVING短语限定分组的条件。如果语句中还有短语限

46、定分组的条件。如果语句中还有WHERE短短语,先用语,先用WHERE短语限定关系中的元组,对满足条件的元短语限定关系中的元组,对满足条件的元组进行分组,然后用组进行分组,然后用HAVING短语限定分组。短语限定分组。上一页返回图图4-1 创建创建“人才档案表人才档案表”返回图图4-2 创建创建“成就成果表成就成果表”返回图图4-3 创建创建“专业特长专业特长”表表返回图图4-4 增加字段增加字段返回图图4-5 删除字段删除字段返回图图4-6 修改字段属性修改字段属性返回图图4-7 删除表删除表返回图图4-8 插入数据的插入数据的SQL语句语句返回图图4-9 插入记录的结果插入记录的结果返回图图4-10 更新表中数据更新表中数据返回图图4-11 删除表中数据删除表中数据返回图图4-12 显示字段的数据显示字段的数据返回图图4-13 求平均分的结果求平均分的结果返回图图4-14 非非“英语英语”专业的学生名单专业的学生名单返回图图4-15 入学成绩在入学成绩在550分到分到590分分之间的学生名单之间的学生名单返回图图4-16 所以姓所以姓“刘刘”学生的姓名、学生的姓名、编号、高考成绩和专业编号、高考成绩和专业返回表表4-1“学生宿舍学生宿舍.DBF”表的结构表的结构返回表表4-2“学生宿舍学生宿舍.DBF”表数据表数据返回

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com