我遇到了一個SQL Server中的較大查詢的問題,我追溯到未按預期執行的代碼段。SQL Server重寫左連接
SELECT item_name,item_num,rst_units
FROM tbl_item left join tbl_sales_regional on item_num=rst_item
WHERE rst_month=7 and rst_customer='AB123'
第一個表(tbl_item)有10,000條記錄。第二個表格(tbl_sales_regional)的顯示標準爲83。
執行計劃顯示SQL Server已重寫爲內部聯接,並返回83個結果,而不是返回10,000個帶有9,917個空值的記錄。
爲了達到預期的效果,我必須加入子查詢。有人可以提供解釋爲什麼這不起作用嗎?
http://stackoverflow.com/questions/354070/sql-join-where-clause-vs-on-clause – Pondlife