SQL:如何查找是否至少有一条记录符合条件

Dha*_*esh 4 sql optimization count

在我的一个数据库表中,我想知道是否存在与条件相对应的至少一条记录.

我写的查询是表中的Count(*)where(condition)在我的程序中,我可以检查结果是否为非零值.它工作正常.

我们怎样才能优化这个?我不想等到它找到符合条件的记录总数.

Lau*_*nce 7

SQL exists可用于此目的.如果查询返回结果,则返回1,否则返回0.

Select Case When Exists (<query>) Then 1 Else 0 End as X
Run Code Online (Sandbox Code Playgroud)


zer*_*kms 6

SELECT TOP 1 1 AS found
FROM tablename
WHERE ...
Run Code Online (Sandbox Code Playgroud)

然后检查查询是否返回单行。

在这种情况下,引擎会在找到第一行后立即返回结果(假设您没有添加ORDER BY