在FoxPro数据库查询 *** 作中,For表达式和while表达式有什么区别?

在FoxPro数据库查询 *** 作中,For表达式和while表达式有什么区别?,第1张

for是查询所有符合条件的记录。

while是从当前记录开始向下查找符合条件的记录,当遇到不符合条件的记录时,则停止查找,如果当前记录就不符合条件,那么就直接停止查找,不管后面有没有符合条件的记录,都不会找到一条。如用while查询表中性别为“男”的记录,假定记录第1、2、4、5号为“男”,从第1条开始就会查找到第1和第2条记录,如果从第3条开始,就一条也不会找到。

while循环和for循环的共同点:都可以实现循环。

区别:while是根据表达式、条件来循环的。for是根据数值范围来循环的。

while通常用在数据库循环读取记录集。

for通常用在循环输出或循环读取数组内容等。

其实两个功能差不多,都可以实现各自的效果。

关系数据库中,基本的关系运算有三种,它们是选择、投影和连接。关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除法、外连接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。

一、传统的集合运算

1、并(UNION) 设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。

2、差(DIFFERENCE) R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。

3、交(INTERSECTION) R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。 R∩S=R-(R-S)。

二、选择运算

从关系中找出满足给定条件的那些元组称为选择。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。这种运算是从水平方向抽取元组。 在FOXPRO中的短语FOR和WHILE均相当于选择运算。

如:LIST FOR 出版单位='高等教育出版社' AND 单价<=20

三、投影运算

从关系模式中挑选若干属性组成新的关系称为投影。这是从列的角度进行的运算,相当于对关系进行垂直分解。在FOXPRO中短语FIELDS相当于投影运算。 如: LIST FIELDS 单位,姓名

四、连接运算

连接运算是从两个关系的笛卡尔积中选择属性间满足一定条件的元组。

五、除法运算

在关系代数中,除法运算可理解为笛卡尔积的逆运算。

设被除关系R为m元关系,除关系S为n元关系,那么它们的商为m-n元关系,记为R÷S。商的构成原则是:将被除关系R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则取m-n列的值作为商的一个元组,否则不取。

扩展资料:

数据库除运算:

除运算的含义–给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。

R÷S的结果为a1,x相当于A y 相当于B,C z相当于D,按照除运算规则,我们不必关注D。只需比较B,C当S关系中的B,C所有的组合(b1,c2)(b2,c3)(b2,c1)都出现在R关系中时,结果才为A

R÷S = {tr[X] | tr&IcircR∧πY (S) íYx },Yx:x在R中的象集,x = tr[X]。除 *** 作是同时从行和列角度进行运算。

参考资料来源:百度百科-关系运算

参考资料来源:百度百科-数据库除运算


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6776075.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存