SQL语句实现关系代数中的“除法”
2016-12-04 20:39
302 查看
1. 除法运算的定义:
给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算可以得到一个新的关系P(X),P是R中满足下列条件的元组在X 属性列上的投影: 元组在X上的分量值x的像集Y(x)包含S在Y上的投影的集合。2.求解步骤过程:
第一步:找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即将Y列取出);第二步:被除关系R中与S中不相同的属性列是X,关系R在属性X上做取消重复值的投影;
第三步:求关系R中X属性对应的像集Y;
第四步:判断包含关系,R÷S其实就是判断关系R中X各个值的像集Y是否包含关系S中属性Y的所有值。
3.SQL中除法运算的实现
R(X,Y)÷S(Y,Z)的运算用结构化语言SQL 语句可表达为下列形式:select distinct R.X from R R1 where not exists ( select S.Y from S where not exists ( select * from R R2 where R2.X=R1.X and R2.Y=S.Y ) )
相关文章推荐
- sql not exists 解决关系代数除法语句执行分析
- 数据库除法的讲解和 sql 语句 not exist 实现
- 关系代数SQL实现
- 数据库关系代数中除运算讲解和SQL语句的实现
- 用T-SQL语句实现SQL server与XLS,MDB等文件的数据交换
- 用sql语句实现按时间求累计值
- 实现数据分类汇总的SQL语句
- [导入]实现SQL语句中,按照in 中的顺序排序的方法
- 运用设计模式实现Sql语句动态转换
- 更改表字段的描述 SQL语句实现
- Sql 语句实现在同一个DB中复制表和空清一个DataTable中的所有数据
- SQL语句实现横排?(转帖)
- 以二进制形式将图片保存到数据库,用存诸过程实现(完整代码+sql语句)
- 如何用SQL语句实现精确搜索以及模糊搜索
- SQL语句实现横排 2
- .Net 分页实现系列之二基于sql语句分页的方式
- 实现数据分类汇总的SQL语句
- 用标准的SQL语句实现查询记录分页
- 使用Sql语句实现AspNetPager分页的范例
- SQL语句实现横排