从sql查询中排除所有结果的有效方法是什么?

时间:2014-12-05 22:00:49

标签: sql sql-server-2008 tsql optimization

感到惊讶我以前没见过这个,但谷歌搜索并没有产生太多的洞察力。

我正在使用一个框架来生成一个SQL查询,不管你喜不喜欢。我能够在查询上添加过滤,并且出现了一个案例,我希望排除所有可能的结果。

我最初的想法是将WHERE 1 = 0添加到查询的WHERE子句中。

有更优化或更有效的方法吗?

由于此答案可能因平台而异,因此将在SQL Server 2008上运行

2 个答案:

答案 0 :(得分:2)

你是对的,这是从查询中排除所有结果的最佳和最常用的方法:

WHERE 1=0

答案 1 :(得分:1)

WHERE 1 = 0是最常用的方法。使用SELECT ... INTO #temp WHERE 1 = 0创建临时表结构非常常见。

请注意,此情况可能导致查询引擎短路查询计划,因此如果您将其用于查询分析,请务必小心。