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

SQLite IF存在子句

桑思远
2023-03-14
问题内容

如何在SQLite中的查询中编写如下所示的IF EXISTS?我读到某处SQLite中不存在IF子句。有什么更好的替代方法呢?

if exists (select username from tbl_stats_assigned where username = 'abc' )
    select 1 as uname
else
    select 0 as uname

问题答案:

只需按照标准的SQL方式执行即可:

select exists(
    select 1
    from tbl_stats_assigned
    where username = 'abc'
);

当然,假设your10实际上是布尔值(就像MySQL一样,SQLite用1和0表示)。

这应该可以在任何SQL数据库中使用,甚至有些可以进行特殊优化以支持该习惯用法。



 类似资料:
  • 问题内容: 我是Maven的新手。我从SVN签出了具有以下结构的客户项目: “ projectName”下方的pom.xml(顶部的pom)正在构建三个模块 但是从文件夹执行时会出现以下错误 问题是:就像我的客户可能忘记使用SVN的其余模块一样,下面是否应该有pom.xml ? 问题答案: 问题是:是否应该在projectName-war下面有pom.xml 简单地说 是 。 您已经找到了窍门,并

  • 问题内容: 当我尝试从表中选择一些记录时 SQL代码强制转换错误 我错过了一些东西吗,或者我可以从那里学到一些有关此错误的信息。 问题答案: 您无法比较json值。您可以改为比较文本值: 但是请注意,类型值以给出它们的格式存储为文本。因此,比较的结果取决于您是否始终采用相同的格式: 在Postgres 9.4+中,您可以使用type来解决此问题,该类型以分解后的二进制格式存储。可以比较以下类型的值

  • 问题内容: 我正在使用Windows XP。我正在使用其内置的create table功能在phpMyAdmin中创建一个表,我的数据库名称为。 它生成以下代码: 并且出现以下错误: 可能是什么问题? 问题答案: 我过去也有同样的问题。将数据库文件移动到新位置并更新mysql服务器后,一切都发生了。具有InnoDB引擎的所有表都从我的数据库中消失了。我试图重新创建它们,但是mysql一直告诉我,直

  • 问题内容: 这两个查询都给出相同的输出,这在性能上明智的联接或带有existing子句的相关子查询中比较好,哪个更好。 编辑:-是否有供联接使用的alternet方式,以提高性能:-在上述2个查询中,我需要来自部门以及联系信息表的信息 问题答案: 通常,使用EXISTS子句是因为您可能需要DISTINCT进行JOIN才能提供预期的输出。例如,如果一行有多个Department行ContactInf

  • 问题内容: 我很好奇为何应该比更快地执行。 当比尔·卡尔文提出一个要点时,我正在回答一个问题。当您使用它时,它使用相关子查询(依赖子查询),而IN()仅使用子查询。 解释显示,并且两者都使用了一个依赖子查询,并且都只使用了一个子查询..所以我很好奇关联子查询如何比子查询更快? 我以前使用过EXISTS,它的执行速度比IN快,这就是我感到困惑的原因。 这是带有说明的SQLFIDDLE 一些问题 在上

  • 也许我不知道如何正确地将领域与可观察对象一起使用,但当我从一个领域创建一个可观察对象并订阅它时,我似乎遇到了领域内存泄漏。我在onDestroy()中关闭领域,并在onPause()中取消订阅可观察的领域。但是,如果我添加并返回以下片段几次(它被添加到backbackback,并在背压时删除): 我注意到,如果我在Android studio中进行几次GC,然后进行堆转储,则会有多个Realm和R