我从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
答案 0 :(得分:3)
如果他们没有产生相同的结果,那将是非常奇怪的。你有没有期待与众不同?
最佳做法是从您选择大多数列的表开始。
使用LEFT
或RIGHT JOINS
时,您必须担心订单。