5

在我的一个数据库表中,我想知道是否有至少一条记录对应于一个条件。

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

我们该如何优化呢?我不想等到它找到符合条件的记录总数。

4

3 回答 3

8

SQL has existswhich can be used for this. 如果查询返回结果,这将返回 1,否则返回 0。

Select Case When Exists (<query>) Then 1 Else 0 End as X
于 2013-09-22T10:04:35.570 回答
6
SELECT TOP 1 1 AS found
FROM tablename
WHERE ...

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

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

于 2013-09-22T10:03:26.373 回答
-4

SqlCommand command = new SqlCommand("SELECT * FROM InsertProductTb", con);

        SqlDataAdapter da = new SqlDataAdapter(command);
        DataTable dt = new DataTable();
        da.Fill(dt);

        if (dt.Rows.Count > 0)
        {

         }
于 2013-09-22T10:11:41.207 回答