我有两个表AgentFare
和SalesHeader
分别以hdrGuid
和hdrGuid
,DocumentNumber
为列。
我必须根据文档编号执行查询,但是我无法确定以下两个查询中哪一个最合适。
SELECT agf.Fare , agf.Tax . agf.Commission
FROM AgentFare as agf
INNER JOIN SalesHeader as h ON agf.hdrGuid = h.hdrGuid AND h.DocumentNumber = 'XYZ'
OR
SELECT agf.Fare , agf.Tax . agf.Commission
FROM AgentFare as agf
INNER JOIN SalesHeader as h ON agf.hdrGuid = h.hdrGuid
WHERE h.DocumentNumber = 'XYZ'
哪2个更合适?
答案 0 :(得分:2)
第一种方法更合适。与第二次查询相比,它会花费更少的时间。
答案 1 :(得分:1)
应该使用“ON”语句来定义应该连接哪些列的表。 “WHERE”语句旨在过滤您的结果。
第二个选项更适合使用。
答案 2 :(得分:1)
您可能会发现这是个人偏好的情况。我倾向于第二个。我很清楚你加入了什么以及你过滤了什么。如果您更改代码以便将“XYZ”替换为参数,那么对我来说第二种方式更容易。我希望在底部找到“过滤器”。