在SQL Server中“无联接谓词”到底是什么意思?
MSDN“ 缺少连接谓词事件类 ”说“ 表明正在执行的查询没有连接谓词 ”。 但是不幸的是,这似乎并不那么容易。 例如,非常简单的情况: create table #temp1(i int); create table #temp2(i int); Select * from #temp1, #temp2 option (recompile); 表中没有数据,也没有警告,尽管它显然没有连接谓词。 如果我看一下SQL Server 2005的文档(相同的链接,只是其他服务器版本),则会有额外的一句话:“ 仅当连接的两面都返回多行时,才会产生此事件。 ”在以前的情况下具有完美的感觉。没有数据,因此双方都返回0行且没有警告。插入行,得到警告。嗯不错。 但是对于下一个令人困惑的情况,我在两个表中插入了相同的值: Insert into #temp1 (i) values (1) Insert into #temp1 (i) values (1) Insert into #temp2 (i) values (1) Insert into #temp2 …