现在的位置: 首页 > 综合 > 正文

内连接、左外连接、右外连接、全外连接、交叉连接(CROSS JOIN)—–小知识解决大数据攻略

2013年07月11日 ⁄ 综合 ⁄ 共 972字 ⁄ 字号 评论关闭

 

       早就听说了内连接与外连接,以前视图中使用过、这次自考也学习了,只是简单理解,现在深入探究学习(由于上篇博客的出现)与实践:

概念

关键字: 左右连接 数据表的连接有:

1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现

 

2、外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制)

 

3、自连接(连接发生在一张基表内)

 

实例

以下是自己通过小实例来深刻的理解,以免混淆

 我有两张简单的信息表来说明问题

test1:

 

test2:

 

交叉连接(CROSS JOIN)也叫做笛卡尔积

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1 CROSS JOIN
                      dbo.test2


 

内连接

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1  inner JOIN dbo.test2  on test1.name =test2.name2

 

左外连接

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1  left JOIN dbo.test2  on test1.name =test2.name2


右外连接

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1  right JOIN dbo.test2  on test1.name =test2.name2

 

全外连接

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1  full outer JOIN dbo.test2  on test1.name =test2.name2

总结

 

       通过这几种数据的关系可以查找自己想要的数据不用太拘于主外键了(以前没有主外键就不会查找有关系的数据了),这些知识看似简单,但是在大型数据的分析与使用中,可以简化我们的数据逻辑,提高我们的查询效率。

 

抱歉!评论已关闭.