| 当前位置:洪恩在线
-> 继续教育 ->
计算机考级 -> 二级FOXBASE+语言 |
|
|||||||||||
|
关系有三种基本的关系运算:投影、选择和联接。在FoxBASE中,投影运算和选择运算结合在很多操作命令中实现。除了TOTAL以外,其他命令中的FIELDS短语起到了投影作用;各种命令中的<范围>和FOR<条件>及WHILE<条件>短语起到了对记录的选择作用。关系的联接运算涉及到两个数据库,用单独一条命令来实现。
命令格式: JOIN WITH<别名>TO<新数据库名>FOR<条件>[FIELDS<字段名表>] 此命令对当前数据库和在另一个工作区打开的数据库进行联接操作,生成一个新的数据库,实现物理上的联接。 命令注释: (1) 命令首先将指针指向当前数据库的第一个记录,逐个扫描别名工作区的数据库记录,将满足条件的记录与当前记录首尾相接作为新数据库的一条记录。然后指针指向当前数据库的下一条记录,重复比较连接,直至处理完当前数据库的所有记录为止。如果两个数据库的记录数分别为m、n,则新库的记录数最大可能为m*n。 (2) 系统默认新数据库的扩展名为.DBF,FIELDS短语指定新数据库的字段及字段顺序。若缺省FIELDS短语,则包括两个数据库的所有字段,当前工作区的数据库字段在前。如果两个库有同名字段,联接结果包括当前库该字段。如果超过数据库允许的最大字段数128,则截断后面的字段。 (3) 条件短语不可缺省,其中别名库的字段应以<别名>-><字段名>来标识。 (4) 此命令一次只能联接两个数据库,如果需要联接多个数据库,必须分步进行。执行命令后,原来两个数据库的记录均保持不变。 使用JOIN命令应注意以下特点: 1.联接命令对两个数据库均不要求排序或索引。 2.作为联接的依据,命令中的条件不可缺省,条件表达式必须包括别名库的字段。最常用的是等值联接,即两个数据库的对应字段值相等。联接生成数据库的记录个数由联接条件确定,数目在O至m*n之间。 3.联接生成的数据库并不自动打开,这一点与用SORT命令生成排序数据库、用TOTAL命令生成分类汇总数据库相同。 4.FIELDS短语是对生成的联接结果数据库进行投影,不必使用别名标识出其来源。例如,在此例中以下两种写法都可以: FIELDS 姓名,性别,职称,基本工资,实发工资,津贴 FIELDS 姓名,A->性别,A->职称,基本工资,实发工资,津贴
课堂提问: |
|
|
|||||||||