关于SQL中的两个问题的理解

1,聚集函数不能出现在where子句中:原因是聚集函数是用来对一个结果集进行运算的,而where子句是用来产生结果集的。在where子句中用聚集函数就相当于在结果集没有产生的时候就要用聚集函数对它进行处理,这显然是不行的。

select * from emp where sal > (select avg(sal) from emp where empno = 5),这个是可以的,相当于一个无关子查询。我们所说的是select * from emp where sal > avg(sal)

 

2,关系代数中的除法运算

首先理解结果:R÷A = B,这个B到底是什么呢?B×A包含于R,可能等于R,这时刚好除尽,否则差集相当于余数。

在理解具体应用场合:(下面转自http://blog.csdn.net/guoxiaojie_415/archive/2009/10/11/4641208.aspx )

1,除法就是在两个实体的联系中查找实体,除的集合存在一部分属性是被除的集合的真子集。如R÷S,集合S的属性集合中存在属性是集合R属性集合的真子集。

2,假设有R,S,及它们的关系集合RS。则RS÷S,的含义就是,在R和S的关系RS中查询与S中的所有元组都有关系的R元组。

关系代数中的5种基本运算:并,差,笛卡尔乘积,选择,投影。我认为,与集合相比较,选择(横向)和投影(纵向)是二维表所特有的处理方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值