0
这是理论/最佳实践请求意见。严格将业务逻辑谓词添加到左连接条件
我已经习惯于查看WHERE子句和JOIN条件作为“托管”任何业务逻辑的好地方,这些业务逻辑将使我的查询尽可能精确。
但引起我的注意的是,将不相关的业务逻辑添加为JOIN条件可能会违反“最佳实践”。例如:
SELECT a.Id, b.Id
FROM foo AS a
LEFT OUTER JOIN bar AS b ON a.Id = b.Id
AND GETDATE() >= "18/5/2011"
的例子是一个有点天真:在现实生活中真的是由主叫方所要求的附加条件,并没有它实际上会产生不真实的结果(即主叫方将在代码进行筛选) 。
请注意,对于OUTER连接,当逻辑指定它时,将条件放在WHERE子句中不是一个选项。
问题是? – 2011-05-19 02:13:52