哪一个更适合表现
IF EXISTS(Select null from table)
或
IF EXISTS(Select 1 from table)
答案 0 :(得分:14)
两者都执行相同的操作,因为从不评估EXISTS中的SELECT子句。您可以使用以下方式进行测试:
... EXISTS(SELECT 1/0 FROM TABLE)
这应该触发零除错误,但不会。
我个人更喜欢使用NULL,因为很明显表中没有引用任何内容,因此其他人更容易看到它。如果不熟悉EXISTS子句,选择一个值(如第二个示例中的INT编号1)可以导致对正在发生的事情的假设。