【发布时间】:2014-04-13 07:58:02
【问题描述】:
我从this answer (click)读到以下条件语句
Invoices.CustomerID=Customers.CustomerID
和
Customers.CustomerID=Invoices.CustomerID
是相同的,因为它产生相同的结果集。
现在,我的问题是关于内连接的交换性。我尝试了以下两种方法,它们产生了相同的结果集(列顺序除外)。
Customers 表优先
use MMABooks
select *
from Customers
inner join Invoices
on Invoices.CustomerID=Customers.CustomerID
where Customers.CustomerID=10
Invoices 表优先
use MMABooks
select *
from Invoices
inner join Customers
on Invoices.CustomerID=Customers.CustomerID
where Invoices.CustomerID=10
问题
- 内部连接是否设计为可交换的?
- 是否有最佳实践建议或偏爱一种方法而不是另一种方法?我的意思是,我应该使用哪种方法?
【问题讨论】:
标签: sql