16

可能重复:
显式与隐式 SQL 连接

我想知道性能的差异

select * from A,B,C where A.x = B.y and B.y = C.z

select * from A INNER JOIN B on A.x = B.y INNER JOIN C on B.y = C.z

基本上我想知道内部连接是否比笛卡尔积表现更好?另外,在内部连接中,笛卡尔积是在内部进行的吗?

4

1 回答 1

2

首先,这两个操作有两个不同的目的,而笛卡尔积为您提供了通过将一个表中的每一行连接到另一个表中的每一行而产生的结果。而内连接(有时称为简单连接)是两个或多个表的连接,它只返回满足连接条件的那些行。
现在来看看你在这里写的内容:
如果是笛卡尔积,首先创建一个由 A、B、C 组成的表,然后根据给定的条件,我们得到结果。但正如你所见,这是一个繁重的过程。
另一方面,内连接只选择那些真正满足给定条件的结果。因此,它是实现最终结果的更好解决方案。
第一个是滥用SQL语言。

于 2013-02-01T11:15:45.577 回答