当前位置: 首页 > 面试题库 >

确定是否存在至少具有给定条件的一行

督坚白
2023-03-14
问题内容

雇员表具有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在找到第一个匹配行后立即停止查找。

第一种方法更紧凑,但是在我看来,第二种方法更清晰一些,因为您实际上是在确定是否存在特定的行,而不是尝试计数。但是第一种方法也很容易理解。



 类似资料:
  • 问题内容: 我需要找到属于特定条件的任何组的所有行。 我将一个组定义为在“组”列中共享一个值的几行。 相关组必须包含至少一行且Eligible设置为true的行,并且该组中至少有两行在Group或Eligible之外的任何列中必须彼此不同。 样表 所需结果 以下查询使我接近 问题在于它返回的结果太多,因为没有考虑该组中的记录之一是否被标记为合格。 我可能缺少一些简单的东西,但是我无法弄清楚如何检查

  • 我有一个mySQL查询,它将选择一些饮料并返回关于饮料的基本信息,以及该特定饮料的成分列表,以及该特定饮料的评级。我有三桌酒水,drinks_ratings,drinks_ing 所以,我的问题是,如果我想获得关于含有伏特加的饮料的信息,并且是在高球玻璃杯中,我会运行下面的查询... 它起作用了,只是我的问题是它没有返回所有的成分。例如,如果我返回“randomdrinkname1”,它碰巧有伏特

  • 我在找一个算法(或者其他什么方法)来确定一个给定的加权图在O(ElogV)中是否有唯一的MST(最小生成树)? 我对体重一无所知(如体重(e1)!= weight(e2)),如果该图只有一个唯一的MST,则算法返回True,否则返回False。 我首先使用 Kruskal 的算法,并检查 find-set(u)==find-set(v) 是否因此在 MST 中有一个圆圈,但这种方式并没有涵盖我认为

  • 问题内容: 我正在使用Hibernate并获得 线程“主”中的异常org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行:[#271] 关于此错误,很奇怪的是,具有给定id的对象存在于数据库中。我在另一个应用程序运行中插入了有问题的记录。如果我在同一运行(即同一hibernate会话)中访问它,则检索数据似乎没有问题。 仅因为这可能是映射的错误: 我什

  • 问题内容: 我有一个要运行验证的SQLAlchemy模型。验证的一部分是确保(少数)列上存在UniqueConstraint。我知道列是什么。使用SQLAlchemy可以做到这一点吗?我正在使用的基础数据库是MySQL。 问题答案: 您可以使用SQLalchemy反射API。 为了获得唯一约束,请发出get_unique_constraints。 主键是唯一的,因此您也必须发出get_pk_con

  • 问题内容: 如何检查以下json中数组中的至少一个元素是否具有具有值的属性? 目前,我正在使用06版草案(此处为 FAQ )。 这是我的NOT WORKING模式: 问题答案: 我设法用弄清楚了。在此版本中,添加了新的关键字。根据此规范草案: 包含 此关键字的值必须是有效的JSON模式。如果数组实例的至少一个元素对给定架构有效,则该数组实例对“包含”有效。 工作模式: