当前位置:洪恩在线 -> 继续教育 -> 计算机考级 -> 二级FOXBASE+语言
 

  计算机考试
 


  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->职称,基本工资,实发工资,津贴

课堂提问:
问题

 


简单举例
例子
基础测试
测试