关系数据库 除法_绿色软件之家

绿色软件之家:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置: 首页数据库Oracle → 关系数据库 除法

关系数据库 除法

时间:2015-06-28 00:00:00 来源:绿色软件之家 作者:网管联盟 我要评论(0)

  假设有两个关系,R(a,b,c)和T(b,c)

  使用投影、笛卡尔积和集合的差,表示R÷T

  R÷T = πa(R) - πa[ πa(R) × T – R ]

  SQL:

  select a from R

  minus(

  select a from(

  select * from (select a from R), T

  minus

  select * from R

  )

  )

  使用NOT EXISTS的实现

  理解:为了帮助理解,假设有关系S(a,d,e),其中a为主键,对于关系T,(b,c)即为主键,那么R就是连接S,T的中间表。

  1. 找出T中的一些元组,这些元组的中的(b,c)对于R中的不同的a并没有全部包含在R的元组中;

  2. 将上个步骤中的R的那些元组从R中排除掉。

  SQL:

  select distinct a from R r1 where not exists(? -- 相当于关系S

  select * from T where not exists(

  select * from R r2 where r1.a = r2.a and? r2.b = t.b and r2.c = t.c

  )

  )

关键词标签:关系数据库

相关阅读

文章评论
发表评论

热门文章 Oracle中使用alter table来增加,删除,修改列的语法 Oracle中使用alter table来增加,删除,修改列的语法 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 误删Oracle数据库实例的控制文件 误删Oracle数据库实例的控制文件 为UNIX服务器设置Oracle全文检索 为UNIX服务器设置Oracle全文检索

相关下载

    人气排行 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 Oracle中使用alter table来增加,删除,修改列的语法 ORACLE SQL 判断字符串是否为数字的语句 ORACLE和SQL语法区别归纳(1) oracle grant 授权语句 ORACLE修改IP地址后如何能够使用 如何加速Oracle大批量数据处理 Oracle删除表的几种方法