2009-11-26 155 views

回答

23

退房的至少一个杰夫阿特伍德的优秀:

A Visual Explanation of SQL Joins

马克

+0

我会显示外部连接:KISS。 – 2009-11-26 14:44:11

+0

真棒!谢谢! – freenight 2009-11-26 14:51:16

+0

图像被破坏... – lsh 2014-01-31 14:38:52

0

INNER JOIN返回行

OUTER JOIN回报存在于两个表

+0

如果两个表中都存在连接条件,那么内部连接返回两个表中的值.... – 2009-11-26 14:42:29

4

维基百科的话题[这里](http://en.wikipedia.org/wiki/Join_(SQL))

但基本上一个不错的长文中的所有行:

  • 内部连接返回那里有行结果满足所有where子句表
  • 外连接返回那里有行结果满足where子句中的表
2

使用INNER JOIN从两个表中返回匹配的所有行。即。在结果表中,所有的行和列都会有值。

在OUTER JOIN中,结果表可能有空列。外连接可以是左或右

即使第二个表中没有匹配,LEFT OUTER JOIN也会返回第一个表中的所有行。

即使第一个表中没有匹配,RIGHT OUTER JOIN也将返回第二个表中的所有行。

-1

假设与客户和订单的示例模式:

  • INNER JOIN:获取客户订单只。

  • 左外连接:检索所有客户有或没有订单。

  • RIGHT OUTER JOIN:检索所有包含或不包含匹配客户记录的订单。

一个稍微更详细的相关信息,请参阅Inner and Outer Join SQL Statements

0

内部联接仅当记录出现​​在两个表中返回一个加入一行。 OUTER JOIN取决于方向将展示从一个表中的所有记录,加盟将数据从他们那里相应行存在

0

使用数学组连接表,

Inner Join is A^B; 
Outer Join is A - B. 

所以它是(+)是你的查询中的一面。