sql – 确定是否至少有一行具有给定条件

前端之家收集整理的这篇文章主要介绍了sql – 确定是否至少有一行具有给定条件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
员工表有ID和NAME列.名称可以重复.我想知道如果至少有一行名字叫’kaushik%’.

所以查询应该返回true / false或1/0.

是否可以使用单个查询找到它.
如果我们尝试像

select count(1) from employee where name like 'kaushik%'

在这种情况下,它不会返回true / false.
我们也在迭代表中的所有记录.在简单的sql中有这样的方式,以便在获取满足条件的第一个记录时,应该停止检查更多的记录.
或者这样的东西只能在Pl / sql块中处理?

编辑*
贾斯汀提供的第一种方法看起来是正确的答案

SELECT COUNT(*) FROM employee WHERE name like 'kaushik%' AND rownum = 1

解决方法

通常,您也可以表达这一点
SELECT COUNT(*)
  FROM employee
 WHERE name like 'kaushik%'
   AND rownum = 1

其中rownum = 1谓词允许Oracle在找到第一个匹配行后立即停止查找

SELECT 1
  FROM dual
 WHERE EXISTS( SELECT 1
                 FROM employee
                WHERE name like 'kaushik%' )

其中EXISTS子句允许Oracle在找到第一个匹配行后立即停止查找.

第一种方法有点紧凑,但是对我来说,第二种方法有一点更清楚,因为你真的想确定一个特定的行是否存在,而不是尝试计数.但是第一种方法也很容易理解.

原文链接:https://www.f2er.com/mssql/82766.html

猜你在找的MsSQL相关文章