有记录吗?计数 vs 限制 vs 嵌套
Posted
技术标签:
【中文标题】有记录吗?计数 vs 限制 vs 嵌套【英文标题】:does a record exist? count vs limit vs both nested 【发布时间】:2012-12-15 12:28:34 【问题描述】:假设您想检查是否有任何行与查询匹配(如果表包含任何匹配项,则只是一个真/假)。哪个是首选(并且可选地,为什么)?还是有更好的方法?
SELECT COUNT(*) > 0 FROM someTable WHERE someField = someValue
或
SELECT someField = someValue FROM someTable WHERE someField = someValue LIMIT 1
或
SELECT COUNT(*) > 0 FROM (SELECT someValue FROM someTable WHERE someField = someValue LIMIT 1) someAlias;
【问题讨论】:
***.com/questions/4484974/… 【参考方案1】:我会使用 EXISTS:
SELECT EXISTS (SELECT * FROM someTable);
如果子查询返回任何行,则返回 1 (True),否则返回 0 (False)。
【讨论】:
以上是关于有记录吗?计数 vs 限制 vs 嵌套的主要内容,如果未能解决你的问题,请参考以下文章