您的位置:首页 > 数据库

SQL SERVER2000教程-第五章 处理数据 第九节 联接

2008-08-07 15:49 369 查看
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。/article/4534453.html
进行查询时,可以联接多个表来执行相关的查询,通常,我们用一个公用列来联接表,经常是指定一列的主键和外键关系。
可以有两种方式来联接表。首先,可以在WHERE子句中指定联接条件。这是以前联接表的方式,但现在仍然支持。如果使用SQL很久了,可能会习惯
这种方法。也可以通过FROM子句指定联接条件。
下面列出了SQLSERVER支持的连接类型:
联接类型 描述
CROSS 返回联接类型左右两侧的表中的所有行的所用组合。即笛卡尔积。

INNER 返回联接类型左侧表和右侧表中有相同值的所有行。

LEFT OUTER 返回左侧表中的所有行,以及与左侧表相匹配的右侧表中的那些行。如果不存在匹配,就在该字段以null值替代。

RIGHT OUTER 返回右侧表中的所有行,以及与右侧表相匹配的左侧表中的那些行。如果不存在匹配,就在该字段以null值替代。

FULL OUTER 返回左右两侧表中的所有行。它们完全相同,就输出两遍,否则就根据需要填以null值。
Self 类似于INNEER JOIN ,只是左右两侧的表为同一个表。

1.内联接(Inner join):两表组合常用方法,经常采用主键和外键匹配的形式。
实例: Select huowu.hwid,hwname,ddid,hwje from huowu join dingdan on huowu.hwid=dingdan.hwid
左外联接(LEFT OUTER JOIN):左边的表不加限制。
右外联接(RIGHT OUTER JOIN):右边的表不加限制。
2.外联接(Outer join): 全外联接(FULL OUTER JOIN):不受条件约束,显示两表中所有内容。
实例:Select huowu.hwid,hwname,ddid,hwje from huowu left outer join dingdan on huowu.hwid=dingdan.hwid
3.交叉联接(Cross join):典型的笛卡尔积,没有on。
实例:Select huowu.hwid,hwname,ddid,hwje from huowu cross join dingdan。
4.自联接(Self join):表自身的连接。
实例:Select c1.hwid,c2.hwid,c1.hwname from huowu as c1 join huowu as c2 on c1.hwid=c2.hwid
本文出自 51CTO.COM技术博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐