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

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

关系数据库 除法

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(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修oracle中使用SQL语句修改字段类型-oracle修使用低权限Oracle数据库账户得到管理员权限使用低权限Oracle数据库账户得到管理员权限Oracle对user的访问控制Oracle对user的访问控制

相关下载

人气排行 ORACLE SQL 判断字符串是否为数字的语句Oracle中使用alter table来增加,删除,修改列的语法ORACLE和SQL语法区别归纳(1)oracle grant 授权语句如何加速Oracle大批量数据处理Oracle删除表的几种方法ORACLE修改IP地址后如何能够使用Oracle 10g创建表空间和用户并指定权限