1

我有两个表AgentFare,并分别SalesHeader将,作为列。我必须根据文档编号执行查询,但是我无法确定以下两个查询中的哪一个最合适。hdrGuidhdrGuidDocumentNumber

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'

或者

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个哪个更合适?

4

3 回答 3

2

第一种方法更合适。因为与第二种查询相比,它需要更少的时间。

于 2013-10-01T10:07:23.273 回答
1

应该使用“ON”语句来定义应该在哪些列上连接 2 个表。“WHERE”语句旨在过滤您的结果。

第二个选项更适合使用。

于 2013-10-01T10:07:36.083 回答
1

您可能会发现这是个人喜好的情况。我的偏好是第二种。我很清楚你加入了什么以及你在过滤什么。如果您更改代码以便用参数替换“XYZ”,那么对我来说第二种方法要容易得多。我希望在底部找到“过滤器”。

于 2013-10-01T10:07:44.943 回答