我真的很困惑RIGHT OUTER JOINs
and LEFT OUTER JOINs
。我真的很困惑如何正确使用它们。我在INNER JOIN
. 我要问一些愚蠢的问题,但我问了它们是为了让我正确理解它们。
我怎么知道哪张桌子在右边和左边。是由哪个连接决定的吗?
我问所有这些问题是因为我正在使用 AdventureWorks 数据库并且我正在对下面的查询进行 LEFT JOIN
Select SalesLT.Customer.CompanyName, SalesLT.SalesOrderHeader.SubTotal, SalesLT.SalesOrderHeader.TaxAmt
FROM SalesLT.Customer
LEFT OUTER JOIN SalesLT.SalesOrderHeader
ON SalesLT.Customer.CustomerID = SalesLT.SalesOrderHeader.CustomerID
这是我得到的结果
A Bike Store NULL NULL
Progressive Sports NULL NULL
Advanced Bike Components NULL NULL
Modular Cycle Systems NULL NULL
Metropolitan Sports Supply NULL NULL
Aerobic Exercise Company NULL NULL
Associated Bikes NULL NULL
Rural Cycle Emporium NULL NULL
Sharp Bikes NULL NULL
Bikes and Motorbikes NULL NULL
在同一个查询中,我用右外连接替换了左外连接连接,我得到了以下结果
Professional Sales and Service 39785.3304 3182.8264
Remarkable Bike Store 6634.2961 530.7437
Bulk Discount Store 88812.8625 7105.029
Coalition Bike Company 2415.6727 193.2538
Futuristic Bikes 246.7392 19.7391
Channel Outlet 550.386 44.0309
Aerobic Exercise Company 2137.231 170.9785
Vigorous Sports Store 1059.31 84.7448
我真的很困惑。请向我解释这里发生了什么。可能是因为我没有正确完成加入。如果我错了,请纠正我。
谢谢你