posts - 195,  comments - 30,  trackbacks - 0

原文:http://blog.csdn.net/tang08/archive/2007/11/21/1896139.aspx 
内连接

典型的连接用算,使用如 = <>,之类的比较用算符,包括相等连接和自然连接。内连接根据各个表中共有的列来匹配表中的行!

      比如用户表(M-USER)中有部门编号(BUMENCD)字段,部门表(M-BUMEN)中也有部门编号(BumenCd,现在欲抽出用户表(M-USER)和部门表(M-USER)中具有相同部门编号的的用户信息:

Select xxx,xxx,xxx                                               / /抽出的用户其他信息,如姓名,年龄 编号等

From M-USER, M-USER                                       / / 表名

Where M-USER .BUMENCD,=M-USER. BumenCd / / 抽出条件 部门编号相同

Ord by xxx                                                             / / 抽出信息排列 可选

内连接若连接的结果集中只保留了符合连接条件的元组,而排除了两个表中没有对应的或匹配的元组情况,这种连接称为内连接。在内连接的查询结果中,会丢失一部分信息.

外连接

如果要求查询结果集中保留非匹配的元组,则为外连接, 分为为左外连接,右外连接 ,及完整外连接  FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:   
    
LEFT JOIN      
     LEFT     OUTER     JOIN
  
左向外联接的结果集包括     LEFT     OUTER   子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。   
    
    RIGHT     JOIN   
     RIGHT     OUTER     JOIN     
  
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。   
    
    FULL     JOIN   
     FULL     OUTER     JOIN     
  
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

比如 

1. 左外连接

                  Select A. xxxx, A . xxxx , B .xxx , B .xxx

                  From M-USER as A   left outer join   M-BUMEN as B

                  On A . BUMENCD = B . BumenCd

2 .右外连接 关键字         right outer join on

posted on 2011-04-18 17:11 luis 阅读(315) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年4月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

友情链接

搜索

  •  

最新评论

阅读排行榜

评论排行榜