联接-----交叉联接

在逻辑上,交叉联接是一种最简单的联接。交叉联接只实现一个逻辑查询步骤(笛卡尔积)。这一步是对输入的两个表进行操作,把它们联接起来,生成二者的笛卡尔积。也就是将一个输入表的每行与另一个表的所有行进行匹配。如果一个表有m行,而另一个表有n行,将得到m*n行的结果集。

SQL Server 支持交叉联接的两种标准语法:

ANSI SQL-92

SELECT C.custid,E.empid FROM dbo.Customers AS C

CROSS JOIN dbo.Employees AS E

ANSI SQL-89

SELECT C.custid,E.empid FROM dbo.Customers AS C,dbo.Employees AS E

推荐使用ANSI SQL-92语法

自联接:对同一个表的多个实例也可以进行联接,这种功能就是所谓的自联接(self-join),所有基本联接类型(交叉联接、内联接,以及外联接)都支持自联接。

注意:在自联接中,必须为表起别名。如果不为表指定别名,联接结果中的列名就会有歧义。

posted @ 2014-05-04 22:52  守护之翼  阅读(153)  评论(0编辑  收藏  举报