是否可以在输出中检索where子句中哪个谓词为true的谓词?

卡姆努

在带有where子句的select查询中是否有可能,其中where子句在输出中检索到很多谓词,而其中的一个谓词被评估为true以及真正的元组?

例如,给定此表:

Table person
name        age         hair_color
Tom         12          Brown
Bob         27          Black
Sam         20          Red
Ann         15          Blonde
John        30          Blonde

该查询:

select *
from person
where (age >= 25) or (hair_color = 'Blonde')

我想在输出中有这样的内容:

name        age         hair_color      clause_1        clause_2
Bob         27          Black           true            false
Ann         15          Blonde          false           true
John        30          Blonde          true            true

您建议如何取得类似的结果?

更新

谢谢!你回答了我的问题!所以可能是这样的:

select *
from (
    select p.*, 
        (age >= 25) as clause_1, 
        (hair_color = 'Blonde') as clause_2
    from test.person as p
) as t
where t.clause_1 or t.clause_2

现在我有一个相关的。如果我已经有一个倾向于包含此子句评估的表,例如'check_1'和'check_2'。

Table person
name        age         hair_color      check_1     check_2
Tom         12          Brown
Bob         27          Black
Sam         20          Red
Ann         15          Blonde
John        30          Blonde

在选择查询期间,是否有任何方法可以“临时”评估此字段的价值(check_1 =子句_1,check_2 =子句_2)?

name        age         hair_color      check_1     check_2
Bob         27          Black           true        false
Ann         15          Blonde          false       true
John        30          Blonde          true        true

我问你,因为我在一个Java项目中需要它,在这个项目中我使用JPA和Criteria API进行类型化查询,并且我希望一次性获得具有“检查”值的对象“人”。

再次感谢大家!

a_horse_with_no_name

您可以包装条件:

select *
from (
  select p.*, 
         (age >= 25) as condition_1, 
         (hair_color = 'Blonde') as condition_2
  from person p
) t
where condition_1 or condition_2

以上是标准SQL,并假设所使用的DBMS支持适当的boolean数据类型。

我不确定优化器将条件降低的聪明程度,因此它可能比原始查询要慢。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在MySQL的where子句中使用当前的Dayname?

来自分类Dev

如何从SQL where子句创建JavaScript函数,以将其作为谓词传递到JavaScript数组的过滤器函数中?

来自分类Dev

在`.Where`子句的谓词中传递`this`会导致它变异吗?

来自分类Dev

可以在应用WHERE谓词之前执行SELECT子句中的计算吗?

来自分类Dev

应用谓词时是否可以从EF集合中获取IQueryable <>?

来自分类Dev

JPA:QueryCriteria where子句中的谓词和表达式

来自分类Dev

sqlserver中where子句中的case语句,其他情况始终为true

来自分类Dev

C#谓词列表传递给Linq Where子句

来自分类Dev

是否可以通过键而不是Hazelcast中的值查询(使用谓词)?

来自分类Dev

WHERE子句谓词可以评估为NULL吗?

来自分类Dev

检查芝麻中的谓词是否为标准类型

来自分类Dev

从查询where子句中的配置表中检索值

来自分类Dev

WHERE中的谓词与SQL查询中FROM中的关系是否正确,是否正确?

来自分类Dev

在初始化谓词后,是否可以用谓词修改获取的结果?

来自分类Dev

重复直到谓词在序言中评估为true

来自分类Dev

子句中的Hazelcast谓词

来自分类Dev

谓词为true时拆分列表

来自分类Dev

可以在WHERE子句中使用集合,并以IN为条件?

来自分类Dev

如何从SQL where子句创建JavaScript函数,以将其作为谓词传递到JavaScript数组的过滤器函数中?

来自分类Dev

是否可以从UIButton更改谓词?

来自分类Dev

是否可以在RDF中的主语和宾语之间定义多个谓词?

来自分类Dev

核心数据无法生成谓词的where子句(Swift)

来自分类Dev

是否可以使用Obj-C中的谓词按名称检索照片?

来自分类Dev

如何检查谓词中的一个函数是否返回true?

来自分类Dev

从查询where子句中的配置表中检索值

来自分类Dev

LINQ表达式谓词添加where子句

来自分类Dev

Where<> 查询中的谓词未命中?

来自分类Dev

递归谓词的输出

来自分类Dev

如何使用谓词在 JPA 中构建“IN”子句?

Related 相关文章

  1. 1

    是否可以在MySQL的where子句中使用当前的Dayname?

  2. 2

    如何从SQL where子句创建JavaScript函数,以将其作为谓词传递到JavaScript数组的过滤器函数中?

  3. 3

    在`.Where`子句的谓词中传递`this`会导致它变异吗?

  4. 4

    可以在应用WHERE谓词之前执行SELECT子句中的计算吗?

  5. 5

    应用谓词时是否可以从EF集合中获取IQueryable <>?

  6. 6

    JPA:QueryCriteria where子句中的谓词和表达式

  7. 7

    sqlserver中where子句中的case语句,其他情况始终为true

  8. 8

    C#谓词列表传递给Linq Where子句

  9. 9

    是否可以通过键而不是Hazelcast中的值查询(使用谓词)?

  10. 10

    WHERE子句谓词可以评估为NULL吗?

  11. 11

    检查芝麻中的谓词是否为标准类型

  12. 12

    从查询where子句中的配置表中检索值

  13. 13

    WHERE中的谓词与SQL查询中FROM中的关系是否正确,是否正确?

  14. 14

    在初始化谓词后,是否可以用谓词修改获取的结果?

  15. 15

    重复直到谓词在序言中评估为true

  16. 16

    子句中的Hazelcast谓词

  17. 17

    谓词为true时拆分列表

  18. 18

    可以在WHERE子句中使用集合,并以IN为条件?

  19. 19

    如何从SQL where子句创建JavaScript函数,以将其作为谓词传递到JavaScript数组的过滤器函数中?

  20. 20

    是否可以从UIButton更改谓词?

  21. 21

    是否可以在RDF中的主语和宾语之间定义多个谓词?

  22. 22

    核心数据无法生成谓词的where子句(Swift)

  23. 23

    是否可以使用Obj-C中的谓词按名称检索照片?

  24. 24

    如何检查谓词中的一个函数是否返回true?

  25. 25

    从查询where子句中的配置表中检索值

  26. 26

    LINQ表达式谓词添加where子句

  27. 27

    Where<> 查询中的谓词未命中?

  28. 28

    递归谓词的输出

  29. 29

    如何使用谓词在 JPA 中构建“IN”子句?

热门标签

归档