当我编写 SQL 查询时,我发现自己经常在想“没有办法用单个查询来做到这一点”。发生这种情况时,我经常求助于使用临时表(一种或另一种)的存储过程或多语句表值函数,最终只是简单地组合结果并返回结果表。
我想知道是否有人知道,仅从理论上讲,是否应该编写任何将单个结果集作为单个查询(而不是多个语句)返回的查询。显然,我忽略了代码可读性和可维护性等相关点,甚至可能是查询性能/效率。这更多是关于理论 - 可以做到......别担心,我当然不打算在多语句在所有情况下更适合我的目的时开始强迫自己编写单语句查询,但是对于是否有可行的方法从单个查询中获取结果,这可能会让我三思而后行。
我想一些参数是有序的 - 我正在考虑一个关系数据库(例如 MS SQL),其表遵循常见的最佳实践(例如所有表都有一个主键等)。
注意:为了赢得“接受的答案”,您需要提供明确的证明(参考网络材料或类似的东西。)