已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州天力电脑技工学校兴义校区 VFP应用基础部分理论复习资料 任课教师:黄平贵州省天力电脑技工学校兴义校区20122013学年第一个学期VFP应用基础自考班复习资料- 9 -第一章Visual FoxPro基础第一节 计算机数据管理的发展一、数据与数据处理1.数据:是描述客观事物的符号记录,是用物理符号记录下来的可以鉴别的事物特性。包括:数字、文字、图形、图像、动画、声音等。2.信息:是数据经过加工处理后的有用结果。或是能表示一定含义的数据。3.数据处理:将数据转换或信息的过程。内容包括:数据收集 数据整理(鉴别) 存储数据 使用数据(计算、统计、查询等) 维护数据故通过数据处理可以获取信息,然后对信息进行解释、推论、归纳、分析、综合等而产生决策。二、据管理技术的发展:计算机对数据的管理是指对数据的组织、分类、编码、检索和维护所提供的操作手段。经历了:人工管理、文件系统、数据库系统、分布式数据系统、面向对象数据库系统。1、人工管理:20世纪50年代中期以前特点:程序员必须掌握数据在计算机中的存储地址和方式,才能在程序中正确的使用数据。程序与数据不独立,数据不能保存,程序之间有数据冗余。2文件系统:20世纪50年代后期主60年代中期特点:数据存储在数据文件中,由文件管理系统使用数据。 数据文件和程序文件相互依赖,数据冗余度大,且造成数据的不一致性。3数据库系统:20世纪60年代后期至今特点:数据库诞生, 数据库通过数据库管理系统进行管理。 数据冗余度减小,共享性提高。4分布式数据库系统:20世纪80年代,随着网络技术的发展,适应C/S系统结构的数据库系统。特点:在一个分布式数据库中,一个应用可以对其所需的数据进行透明的操作,这些数据在不同的数据库中分布,由不同的数据库管理系统管理,在不同的机器上运行,由不同的操作系统支持,被不同的通信网络支持。透明:指从逻辑角度看,应用程序所操作的数据好像是由运行在一台机器上的单一的数据库管理系统管理着。由很多物理上分开的数据库系统通过通信网络连在一起,不同位置的数据库协同工作,用户可以访问到网络上任何位置的数据库中的数据,就好像在本机访问一样。5面向对象数据库:是数据库技术与面向对象程序设计相结合的产物,是面向对象的方法在数据库领域中的实现和应用。基本思想:用户程序不应与面向机器的结构如字段和记录直接打交道,而应该直接对对象和建立在对象之上的操作进行处理。 第二节 数据库系统一、数据库的概念1数据库(DBDatabase):(是以一定的组织方式存储在计算机的存储设备上的相互关联的数据集合。)定义:是存储在计算机存储设备上,结构化的相关数据集合。它能以最佳的方式、最少的重复为多种应用服务特点:1)数据的共享性:库中的数据可为多个程序、用户服务。2)独立性:数据文件与用户的应用程序彼此独立,即修改数据时,不必修改使用数据的程序3)数据库的数据冗余(重复)少。2数据库应用系统定义:指系统开发人员利用数据库系统资源开发出来的,而向某一类实际应用的应用软件系统。如:劳资系统、人事管理系统、学生信息系统、员工培训系统、物资管理系统、教学管理系统、维修系统、客户跟踪系统等。3数据库管理系统(DBMSDatabase Management System) 定义:是用来管理数据库数据的大型程序,是用户与数据库的接口。 说明:1)DBMS 提供各种命令对DB进行操作,可以帮助用户完成数据库的建立、询问、显示、修改、打印报表等工作。2)DBMS包括数据描述语言及其翻译程序、数据操纵语言及其编译程序、数据库管理例行程序。3)通俗地说:数据库是存放数据的地方,而DBMS是指在数据库的环境下,如何存取数据等多种管理数据库的功能。4数据库系统定义:指引进数据库技术后的计算机系统现有组织地,动态地存储大量相关数据提供数据处理和信息资源共享的便利手段组成有五部分:硬件系统、数据库集合、DBMS及相关软件、数据管理员和用户。二、数据库系统的特点1实现数据共享,减少数据冗余。2采用特定的数据模型:结构化的数据通过数据模型表现出来,事物内部属性间的联系和事物与事物之间的联系。3具有较高的数据独立性:用户只需操作数据,而无需考虑数据在存储上的物理位置与结构。4有统一的数据控制功能:DBS提供了必要的保护措施。第三节 数据模型一、实体的描述1、实体:客观存在并且可以相互区别的事物家实体2、实体的属性:描述实体的特性3、实体集和实体型实体集:同类型的实体的集合(行)实体型:属性的集合表示一种实体的类型(列)二、实体间的联系及联系的种类联系:实体之间的对应关系。联系的种类:指一个实体型中可能出现的每一个实体与另一个实体型中多少个具体实体存在联系。实体联系有三种:一对一联系 (1:1)、一对多联系 (1:n)、 多对对联系 (m:n)三、数据模型简介1模型:是实现世界特征的模拟和抽象。数据模型:数据模型用来表示数据库中数据的结构,即事物本身属性间及事物之间的各种联系。数据模型的种类:层次模型、网状模型、关系模型四:关系模型:用二维表的形式表示实体和实体间联系的数据模型。 一、关系术语1.关系:一个关系就是一张二维表,每个关系有一个关系名。说明:在VFP中,一个关系存储为一个文件,文件扩展名为dbf,称为 “表”。对关系的描述为关系模型,一个关系的模式对应一个关系的结构,其格式为:关系名(属性名1,属性名2,.,属性名n)2.元组:表中的一行称为一个元组,在VFP中称为记录。3.属性:表中的一列称为一个属性,每一列有一个属性名。每个属性有属性名、数据类型、宽度)4.域:属性的取值范围。5.关键字:属性或属性的组合,其值能唯一确定一个元组,例:学号。候选关键字:满足关键字特性的最小属性组合都叫候选关键字。6.外部关键字:如果表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,这个字段就称外部关键字。第四节 关系运算关系的基本运算有两类: 传统的集合运算(并、差、交等);专门的关系运算(选择、投影、连接)一、传统的集合运算:进行运算的关系须有相同的结构1并:由属于这两个关系的元组成(RS)2差:从前一个关系去掉后一个关系中也有的元组(RS )-结果为属于R但不属于S的元组3交:由相同属于两个关系的元组组成的集合(RS)二、专门的关系运算1选择:从关系中找出满足给定条件的元组的操作2投影:从关系模式中指定若干个属性组成新的关系3、自然连接:去掉重复属性的等值连接第五节 数据库设计步骤一、设计原则1关系数据库的设计应遵从概念单一化“一事一地”原则2避免在表之间出现重复字段3表中的字段必须是原始数据和基本数据元素4用外部关键字保证有关联表之间的联系二、设计步骤:需求分析、确定需要的表,抽象实体、确定所需字段、确定表间联系、设计求精第六节 数据库设计过程一、需求分析:信息需求、处理需求、安全性和完整性要求二、确定需求的表三、确定所需字段:每个字段直接和表的实体相关、以最小的逻辑单位储存信息、表中的字段必须是原始数据、确定主关键字四、确定表之间的联系:一对多联系、一对一联系、多对多联系五、设计求精 第二章 Visual FoxPro 系统初步第一节 Visual FoxPro 6.0的安装和启动一、退出系统:单击关闭窗口按钮文件表单“退出”Alt+F4命令窗口键入QUIT命令第二节 Visual FoxPro 的用户界面一、VFP有三种工作方式:1利用某单系统或工具栏按扭执行命令;2在命令窗口中直接输入命令进行交互或操作;3利用各种生成器自动产生程序或编写 FoxPro 程序,然后执行它。VFP的主界面一、 菜单操作:鼠标操作、键盘操作、光标操作二、命令操作显示与隐藏命令窗口:命令窗口右上角关闭按钮关闭,“窗口”中的“命令窗口”打开用常用工具栏上的命令窗口按钮显示或隐藏Ctrl+F4关闭命令窗口,Ctrl+F2显示一、项目管理器窗口1、项目:是文件、数据、文档和对象的集合2、项目文件扩展名为pjx或pjt3、“项目管理器”是系统的“控制中心”第三节 Visual FoxPro的配置项目:是指文件、数据、文档和VFP对象的集合、包括:表、数据库、表单、报表、查询、类、程序等等。项目管理器:将一个应用程序的所有文件都集合成一个有机的整体形成一个扩展名为PJX的项目文件3各类文件选项卡项目管理器包括:全部、数据、文档、类、代码、其他6个选项卡“数据”选项卡:数据库、自由表、查询、视图文档选项卡:表单、报表、标签类选项卡代码选项卡,包括三大类程序:AIP库、程序、应用程序 其他选项卡:文本文件、菜单文件、其他文件 全部选项卡:以上各类文件的集中显示窗口第三章 数据与数据运算第一节 常量与变量 一、常量:在程序运行过程中保持不变的量 1.数值型常量(N)格式:由数字09、小数点和正负号构成,很大或很小的数用科学记数法表示长度:8个字节2.货币型常量(Y)格式:表示货币值,是在数值型常量之前,加前缀$,但不能用科学记数法来表示货币型常量。例:$-3456 、 $0.1415, 但$3E-5是错误的货币型常量的小数位不能超过4位,若超过4位,多余的位将被四舍五入。3.字符型常量(C)格式:又称字符串,是由任意字符、数字、汉字组成的字符序列,用定界符“” 、 成对括起来,如果字符串的内容中包含了某个定界符,则需要用另一种定界符做为该字符串的定界符。注意:“”空串与空格字符串“ ”不同补:显示值命令?功能:在下一行显示若干个表达式的值?功能:在同一行显示表达式的值4.日期型常量(D)格式:用将年、月、日括起,年、月、日之间用分隔符,分隔符可以是/、_、和空格。日期型常量有两种格式:严格的日期格式和传统的日期格式传统的日期格式mm/dd/yy,年份可以是2位数字或4位数字,此格式命令会受语句SET DATE TO和SET CENTURY TO设置的影响严格的日期格式yyyy-mm-dd 例:1999-10-02年份必须是4位数字,年月日的次序不能颠倒,不能缺省,用8个字节表示取值范围是:0001-01-019999-12-31影响日期格式的设置命令A格式:SET MARK TO 日期分隔符 功能:设置日期型数据的分隔符,若SET MARK TO 表示恢复默认斜杠分隔符B格式:SET DATE TO MDY |DMY|YMD 功能:设置日期显示的格式C格式:SET CENTURY ON/OFF世纪值 功能:设置(或关闭)成用4位数字显示年份 例:SET CENTURY ON ?10/02/19995、日期时间型常量(T:占用8个字节)日期时间型常量可以同时表示日期和时间格式为:, 与日期型常量完全相同时间格式为:hh:mm:ssa/p例: 2002-9-17,9 表示2002年 9月17日上午9点6、逻辑型常量(L)数据: 逻辑真-.t.、.T.、.y.、.Y.逻辑假-.F.、.f.、.N.、.n.占用一个字节。第二节 变量一、变量:在程序运行过程中变化着的量。二:变量的分类:1.字段变量:表中的字段、字段名为变量名值为当前表2.内存变量:是内存中的一个存储区域三、简单内存变量的种类:字符型(C)、数据值型(N)、货币型(Y)、逻辑型(L)、日期型(D)、日期时间型(T)1简单内存变量赋值:格式1:=格式2:STORE TO 2.数组定义:是内存中连续的一片存储区域,数组中的每个变量称为数组元素,每个数组元素的数据类型可以不相同,每个数组元素通过数组名及相应的下标来访问。创建命令:DIMENSION 数组名(下标上限1,下标上限2),DECLEAR 数组名(下标上限1,下标上限2) ,注意:数组元素的下标从1开始四、内存变量常用命令: 1内存变量的显示格式1:LIST MEMORY LIKE通配符格式2:DISPLAY MEMORY LIKE通配符功能:显示内存变量的当前信息,包括变量名、作用域、类型、取值。2内存变量的清除格式1:CLEAR MEMORY格式2:RELEASE 格式3:RELEASE ALL EXTENDED格式4:RELEASE ALL LIKE|EXCEPT3.表中数据与数组数据之间的交换将表的当前记录复制到数组格式1:SCATTER F1ELDS MEMO TO BLANK功能:复制表的当前记录的指定字段到数组元素,若不指定字段 ,则复制除备注型M和通用型G之外的全部字段。格式2:SCATTER F1ELDS LIKE|FIELDS EXCEPTMEMOTOBLANK功能:复制用通配符指定包括或排除的字段将数组数据复制到表的当前记录。格式1:GATHER FROM FIELDS MEMO功能:将数组中的数据作为一个记录复制到表的当前记录中,若数组元素个数多于记录中字段的个数,则多余部分被忽略。格式2:GATHER FROM FIELDS LIKE|FIELDS EXCEPTMEMO功能:复制用通配符指定包括或排除的字段第三节 表达式定义:同类型的各种数据(常量、变量、函数)通过同类型运算符按一定规则连接起来的式子。数值、字符与日期时间表达式一、数值表达式:由算术运算符将数值型常量、变量、函数连接起来形成,运算结果仍为数值型。算术运算符优先级:A.( ) B. *或 C.*、/、% D.+、_求余运算:%或MOD( ) 求余或取模,余数的正负号与除数一致二、字符表达式:由字符运算符与字符型常量、变量、函数构成,运算结果仍为字符型+:将两个字符串连接形成一个新字符串-:连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部三、日期时间表达式:由日期型运算符与日期型或数值型的常量、变量或函数构成。运算结果为日期型或数值型。关系表达式:也称简单逻辑表达式,由关系运算符与其他表达式组成,其作用是比较两个表达式的大小或前后,其运算结果是逻辑型。1形式:2设置字符的排列次序:Machine(按ASCII比)、PinYin(拼音)、Stroke(笔画)3字符串精确比较与EXACT设置:SET EXACT ON/ OFFset exact off 非精确比较:右边的字符串与左边字符串的前面部分内容相匹配,即可得到逻辑真 .T. set exact on 精确比较当=时,现在较短字符串尾部加上若干个空格,使两个字符串长度相等,再比较当=时,须两个字符串完全相同(包括空格及各字符的位置)第四节 逻辑表达式定义:由逻辑运算符将逻辑数据连接起来的式子,其运算结果为逻辑值。1逻辑运算符: .NOT.(逻辑非) 、.AND.(逻辑与) 、.OR.(逻辑或)(NOTANDOR)2运算符优先级: 算术运算符字符运算符和日期时间运算符关系运算符逻辑运算符第五节 常用函数一、数值函数1.圆周率函数格式:PI( )返回圆周率功能:返回圆周率 A=PI( )2.求整数函数格式: INT ()返回整数部分3.四舍五入函数格式:ROUND(,)返回在指定位置四舍五入后的结果功能:。说明:若表达式2为负,则舍入到对应整数位4.求余数函数格式:MON(数值表达式1,数值表达式2 )返回余数,余数的正负号与除数相同。 即负数以正数,余数;正数除以,余,负二、字符函数:指自变量一般是字符型数据的函数1.求字符串长度函数格式:LEN(字符表达式)返回字符表达式的长度,结果为数值型3.空格字符串生成函数格式:SPACE(数值表达式)生成指定数目的空格字符串 4删除前后空格函数格式:TRIM(字符表达式)尾部 LTRIM(字符表达式)前导空格 ALLTRIM(字符表达式)全部5取子串函数格式:LEFT(字符表达式,长度)从左端取一个指定长度的子串RIGHT(字符表达式,长度)从右边取一个长度的子串SUBSTR(字符表达式,其始位置,长度)从指定起始位置取指定长度的子串6计算子串出现次数函数格式:OCCURS(字符表达式1,字符表达式2)返回第一个字符在第二字符串中出现的次数,函数值为N型 7求子串位置函数格式:AT(字符表达式1,字符表达式2,字符表达式)若串1是串2的子串,则返回串1首字符在串2中的位置,否则返回0。三、日期和时间函数1.系统日期和时间函数格式: DATE( )、TIME( )、DATETIME() 分别返回当前系统日期、时间、日期时间。 2求年份、月份和、天数函数格式:YEAR(|)、MONTH(|)、DAY(|四、数据类型转换函数1数值转换成字符串:STR(,小数位数 按长度和保留的小数位数,将数字转成字符串。2字符串转换成数值:VAL()从第1个字符开始到第1个非数字字符间的字符串转换成对应数值。3.字符串转成日期或日期时间格式: CTOD()CTOT()功能:将字符表达式的值转换成日期或日期时间型.4.日期或日期时间转换成字符串格式: DTOC(|,1)TTOC(,1)功能:将D或T型数据转换成字符串五、测试函数1数据类型测试函数:VARTYPE(,)返回表达式的类型字母2表文件尾测试函数:EOF(|)测试记录指针是否向文件尾,若是为.T.; 否则是.F.。 3条件测试函数:IIF(,)测试L值,若为.T.返回表达式1的值;若为.F., 返回的值。 第四章 Visual FoxPro数据库及其操作第一节 Visual FoxPro数据库及其建立一、说明:DB是一个逻辑上的概念和手段,是一个容器,通过一组系统文件统一组织和管理相互关联的数据库表及其相关的DB对象。 建立DB时,产生三个同名文件:.dbc(库文件) .dxt(备注文件) .dcx(索引文件)二、建立数据库1在项目管理器中建立数据库:项目管理器“数据”“数据库”“新建”“新建数据库”库名.dbc2通过“新建”对话框建立数据库:“文件”“新建”文件类型数据库3使用命令交互建立数据库格式:CREATE DATABASE Database Name|?说明: 1、2方法会自动打开库设计器,3打不开。若库名已存在,则会覆盖。 命令: SET SAFETY ON/OFF 设置警告。三、使用数据库: OPEN DATABASE 数据库名四、修改数据库:MODIFY DATABASE 数据库名五、删除数据库:DELETE DATABASE第二节 建立数据库表一、在数据库中建立表操作方式1字段名:以字母或汉字开头,由字母、汉字、数字和下划线组成,不能包含空格。2字段类型和宽度:说明字段的数据类型和存储空间3空值:是否允许为NULL4字段有效性规则:字段值的约束5显示组框:可以定义字段显示的格式,输入的掩码或字段标题6字段注释: 为字段添加注释命令方法:1、OPEN DATABSE:打开 DB2、用CREATE建立表CREATE 建立表3、打开/关闭表命令USE TABLENAME 打开USE 关闭 第三节 表的基本操作常用命令一、增加记录的命令1APPEND命令格式:APPEND BLANK 在表的尾部追加记录,可以连续输入多条。2INSERT命令格式:INSERT BEFORE BLANK 在表的任意位置插入新的记录,不指定Before插当前记录后,否则插当前记录前。注意:若表上建立了主索引或候选索引则不能用APPEND或INSERT命令插入记录。二、删除记录的命令1.置删除标记命令:DELETE FOR条件 逻辑删除符合条件的所有记录,若无条件则只逻辑删除当前一条记录。 2.恢复记录命令:RECALL FOR条件 恢复符合条件的记录,无条件则只恢复当前一条记录。 3.物理删除有删除标记的记录:PACK4.物理删除表中的全部记录:ZAP三、修改记录的命令1.用EDIT或CHANGE命令交互或修改和APPEND一样2.用REPLACE命令直接修改格式:REPLACE字段名 WITH 表达式 FOR条件功能:可以成批快速修改满足条件的一批记录的几个字段。用With后面的表达式的值替换在With前面的字段的内容。注意:不使用FOR短语则只修改当前记录。 使用FOR短语,则只修改满足条件的所以记录 四、显示记录的命令格式:LIST/SISPLAY FIELDS 字段名表 FOR条件功能:显示符合条件的记录的字段值注意:list默认显示全部记录,而Display则默认显示当前记录。五、查询定位命令1.绝对定位命令:GO nRecord Number|TOP|BOTTOM将当前记录定位于第N条记录 2.相对定位命令SKIP:SKIP nRecords 将记录指针以当前记录为基础,上移或下移若干条记录。0,下移、字段名例:当前是2区的课程表,现要显示1区中学生表的学号和姓名?学生.学号,学生-姓名四、表之间的关联永久联系:存储在DB中的表之间的联系,由此实现数据参照完全性。临时联系:由SET RELATION命令建立的,由此实现当父表记录指针移动时,子表记录指针按一定的规则跟随移动。一、建立关联SET RELATION TO 索引关键字 |INTO nWorkAreal|CtableAlas说明:1.指定建立临时联系的索引关键字,一般应是父表的主索引,子表的普通索引。相关联的子表要在关联的关键子段上建立普通索引。二、关联取消命令: SET RELATION TO取消当前表到所有表的临时联系SET RELATI ON OFF INTO nWorkArea|ctableAlias只是取消某个具体的临时联系 第五章 关系数据库标准语言SQL第一节 查询功能SQL的核心是查询,查询命令是SELECT。常用语法格式如下:SELECTFROMWHEREGROUP BY HAVING UNIONALLORDER BY说明:1.SELECT说明要查询的数据。2.FROM说明要查询的数据来自那个或那些表可以对单个表或多个表进行查询。3.WHERE说明查询条件即选择元组的条件。4.GROUP BY 短语用于对查询结果进行分组,可以利用它进行分组汇总。5.HAVING必须跟随GROUP BY使用,用来限定分组必须满足的条件。6.ORDER BY用来对查询的结果进行排序。一、简单查询1.无条件查询:由SELECT和FROM短语构成2.条件查询:由SELECT、FROM和WHERE短语构成 3.DISTINCT短语,去掉结果种的重复值例1:从职工关系检索仓库WH2的所有工资值SELECT工资FROM职工WHERE仓库号=“WH2”例2:检索仓库中的所有元组SELECT * FROM 仓库 等同于select仓库号,城市,面积 from 仓库 二、简单的连接查询:连接是关系的基本操作之一,连接查询是基于多个关系的查询。例:找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市select 职工号,城市 from仓库,职工;where(面积400) and (职工.仓库号=仓库.仓库号)说明: 在VFP的SQL命令中分号是续行符号。当from后的多个关系中有同名字段时,须用前缀指明字段所属的表。多表连接查询时要指明查询连接条件。三、嵌套查询(有两个以上查询条件,且在不同关中):当查询所要求的结果出自一个关系,但相关的条件却涉及多个关系,则使用嵌套查询。即当检索关系X中的元组时,它的条件依赖于相关的关系Y中的元组属性值,此时用嵌套查询比较方便。注意:外层查询的条件依赖于内层查询的结果。注:记录字段值区分大小写例1:哪些城市至少有一个仓库的职工工资为1250元?Select城市from 仓库 WHERE仓库号 IN; (SELECT 仓库号 FROM 职工 WHERE工资=1250)例2:找出和职工E4挣同样工资的所有职工 select 职工号 from 职工 where工资=; (select 工资 from职工 where职工号=“E4”)例3:查询所有职工的工资都多于1230元的仓库的信息分析:查询范围来源于职工表,而结果在仓库表,故用嵌套查询。 若条件设为工资1210,则比如WHI中工资有满足条件的,也没不满足条件的 ,故无法适应此情况应该设为:仓库号not in工资=1210如果某仓库还没有职工,则也满足的条件not in职工,故应添加条件,保证该仓库至少有一名职工。解: select * from 仓库 where仓库号not in ; (select 仓库号from 职工 where工资=1220)and(工资=2八、利用空值查询IS NULLIS NOT NULL例1:找出尚未确定供应商的定单信息。Select * from 订购单 where 供应商号IS NULL注:空值查询不能用“=NULL”, 因为空值不是一个确定的值,不能用“=”运算符比较例题:已确定了供应商。Select * from 订购单 where 供应商号IS NOT NULL九、别名与自连接查询:为了简化关系名格式;例:从定货管理的四张表中找出仓库和供应商都在北京的供应商.Select 供应商名 from 供应商S,订购单P,职工E,仓库W;where地址=“北京” and 城市=“北京”;and s.供应商号=p.供应商号;and p.职工号=E.职工号;and e.仓库号=w.仓库号2.自连接查询:降同一关系与其自身进行连接称自连接。在此关系上,存在着一种递归联系,既关系中的一些元组,据出自同一值域的两个不同属性,可以与另外一些元组有一种对应关系(一对多的联系)。例:雇员(雇员号,雇员姓名,经理)雇员号和经理两个属性同一值域,且同一元组的这两个属性值是“上、下级”关系根据雇员关系例出上一级经理及所领导的职员清单。Select S.雇员姓名,“领导”,E.雇员姓名 from 雇员S,雇员E;where S.雇员号=E.经理十、内外层互相关联嵌套查询:指内层查询需要外层查询提供值,而外层查询的条件的需要内层查询的结果。例:例出每个职工经手的具有最高总金额的订购单信息。Select out.职工号,out.供应商号,out.订购单号,out.总金额;from 订购单 out where总金额=;(sleect max(总金额) from 订购单innerl;where out.职工号=innerl.职工号)十一、使用量词和谓词的查询的两种形式1、ANY|SOME(子查询)2、NOT EXISTS(子查询)说明:any、all、some是量词,其中any和some是同义词,比较时只要子查询中有一行能使结果为真,则结果就为真;而all要求子查询中的所有行都使结果为真时,结果才为真。exists或not exists用来检查在子查询中是否有结果返回,即存在元组或不存在元组。例1:检索那些仓库中还没有职工的仓库的信息。Select * from 仓库 where not exists;(Select * from 职工 where 仓库号=仓库.仓库号)例2:检索有职工的工资大于且等于“WH1”仓库中任何一名职工的工资的仓库号。Select distinct仓库号 from 职工 where工资=any;(select 工资 from 职工 where 仓库号=“WH1”)例3:检索有职工的工资大于或等于“WH1”仓库中所有职工的工资的仓库号。Select distinct 仓库号 from 职工 where 工资=all;(select 工资 from 职工 where 仓库号=“WH1”)十二、超连接查询首先保证一个表中满足条件的元组都在结果表中;然后将满足连接条件的元组与另一个表的元组进行连接,不满足连接条件的则将应来自另一表的属置为空值。 格式:SELECTFROM Table INNER|KEFT|RIGHT|FULL Join Table ON Join ConditionWHERE说明:INER JOIN普通连接,称内部连接;LEFT JOIN 为左连接;RIGHT JOIN为右连接;FULL JOIN 以称为全连接,即两个表中的条件不管是否满足连接条件将都在目标表或查询结果中出现,不满足连接条件的记录对应部分为NULL.;ON Join Condicion连接条件例1:内部连接_只有满足连接条件的记录才出现在查询结果中。SELECT 仓库.仓库号,城市,面积,职工号,工资;From 仓库 inner join 职工on仓库.仓库号=职工.仓库号例2:左连接_即除满足是连接条件的记录出现在查询结果中外,第一个表中不满足连接条件的记录也出现在查询结果中。SELECT 仓库.仓库号,城市,面积,职工号,工资;From 仓库 left join 职工on仓库.仓库号=职工.仓库号例3:右连接_即除满足连接条件的记录出现在查询结果中外,第二个表中不满足连接条件的记录也出现在查询结果中。SELECT 仓库.仓库号,城市,面积,职工号,工资;From 仓库 right join 职工on仓库.仓库号=职工.仓库号例4:全连接_除满足条件的记录出现,两表中不满足联系条件的记录也出现在查询结果中。SELECT 仓库.仓库号,城市,面积,职工号,工资;From 仓库 full join 职工on仓库.仓库号=职工.仓库号十三、集合的合并运算SQL可以将两个select语句的查询结果通过合并运算union合并成一个查询结果,要求:两查询结果具有相同的字段个数,且对应字段的值要有相同的值域。例1:查询北京和上海的仓库信息select * from 仓库 where 城市=“北京” union;select * from 仓库 where城市=“上海”十四.VFP中SQL SELECT的几个特殊选项1.显示部分结果说明:有时只需显示满足条件的前几个记录,用短语:TOP nExprPERCENT需与ORDRE BY短语同时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业文化建设与传播标准操作手册
- 活动策划清单模板支持活动筹备与执行
- 财务数据安全承诺书3篇
- 技术项目技术选型及执行方案参考
- Unit复习六年级课本某一单元
- 企业运营管理流程工具与模板
- 2025年医疗保健行业区域医疗服务模式与医保政策研究报告及未来发展趋势预测
- 2025年电子商务行业跨境发展策略研究报告及未来发展趋势预测
- 降水井安全技术培训试题及答案解析
- 我的家乡-描写家乡美景的作文14篇
- 青春奋斗主题班会课件
- 新能源汽车创新创业计划书范文
- 隐球菌肺部感染临床诊疗要点
- 高压灭菌器管理制度
- GB/T 45683-2025产品几何技术规范(GPS)几何公差一般几何规范和一般尺寸规范
- 2025年社区治理与服务考试试题及答案
- 境外劳务日常管理制度
- 健康史评估的试题及答案
- 2015海湾消防GST-QKP04、GST-QKP04-2 气体灭火控制器安装使用说明书
- 资料存档管理制度模板
- 无机非金属面板保温装饰板外墙外保温系统应用技术规程DB21∕T 3397-2021
评论
0/150
提交评论