【问题标题】:How do you query table for containing a value你如何查询包含值的表
【发布时间】:2016-02-01 16:47:06
【问题描述】:

我想知道一个表是否至少包含一个满足特定条件的条目。我不想浏览所有条目,而是在第一个条目处停下来。在 sql 中有没有通用的方法来做到这一点?

【问题讨论】:

  • 查找EXISTS() 但我一般不会担心过早的优化。
  • SELECT TOP 1 x WHERE y
  • 这是一个非常基础的问题。既然如此,我就听说过《10 分钟内自学 SQL》这本书的好消息。
  • Levka,你试过我的解决方案了吗?
  • 我做了,但看起来 sql 仍然遍历整个表(我在不同大小的表和不同的过程时间上尝试过)

标签: sql sql-server-2008


【解决方案1】:

我认为一项研究会更快地为您提供答案,但无论如何,这是我使用的:

IF EXISTS (SELECT NULL FROM Table WHERE Field = @value)
BEGIN
    PRINT 'Exists!'
END
ELSE
BEGIN
    PRINT 'Does not exist!'
END

请记住,在使用EXISTS 时,无论您选择什么字段,无论是来自表、常量还是在本例中为 NULL 值,都无关紧要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2016-11-27
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多