DF061: COUNT() is used instead of [NOT] EXISTS().

Last modified: May 28, 2025

The topic describes the DF061 T-SQL code analysis rule.

Category

PERFORMANCE

Message

COUNT() is used instead of [NOT] EXISTS().

Description

Do not use COUNT() to check if there are any rows that match certain criteria. Use [NOT] EXISTS() instead.

Noncompliant code example

IF (SELECT COUNT(*) FROM dbo.DemoTable WHERE Type = 1) > 0 BEGIN
...
END
 
IF (SELECT COUNT(*) FROM dbo.DemoTable WHERE Type = 1) = 0 BEGIN
...
END

Compliant solution

IF EXISTS(SELECT * FROM dbo.DemoTable WHERE Type = 1) BEGIN
...
END
 
IF NOT EXISTS(SELECT * FROM dbo.DemoTable WHERE Type = 1) BEGIN
...
END