学习笔记

Simple is beautiful.

导航

<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

统计

公告

...

常用链接

留言簿(1)

随笔分类(2)

随笔档案(56)

Weblog

搜索

最新评论

评论排行榜

数据库理论基础(外联接)

数据库理论基础(外联接)

        假设有两个关系R和S

        在关系R和S做自然联接时, 我们选择两个关系在公共属性上值相等的元组构成新关系的元组.此时, 关系R中某些元组有可能在S中不存在公共属性上值相等的元组, 造成R中这些元组的值在操作时被舍弃. 由于同样的原因, S中某些元组也有可能被舍弃. 为了在操作时能保存这些被舍弃的元组,  可以采用外联接操作. 
        
         如果R和S做自然联接时, 把原来该舍弃的元组也保留在新关系中, 同时在这些元组新增加的属性上填上空值(null), 这种操作称为"外联接"操作.
        
         如果R和S做自然联接时, 只把R中原来该舍弃的元组放在新关系中, 那么这种操作被称为"左外联接"操作.
         select * from t_R left outer join t_S on t_R.B = t_S.B and t_R.C = t_S.C
        
         如果R和S做自然联接时, 只把S中原该舍弃的元组放到新关系中, 那么这种操作被称为"右外联接". 
         select * from t_R right outer join t_S on t_R.B = t_S.B and t_R.C = t_S.C


         仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回   FROM   子句中提到的至少一个表或视图的所有行,只要这些行符合任何   WHERE   或   HAVING   搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回.
 

 

posted on 2007-05-18 00:30 Ecko 阅读(692) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: