从表中选择所有或仅特定的行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从表中选择所有或仅特定的行相关的知识,希望对你有一定的参考价值。

是否可以根据条件获取记录,如果条件不满足,则必须显示表中的所有记录。

例如,我有客户ID 1,2,3,4。如果我在where where条件中给出1作为c_id,它必须显示该特定记录。如果我将5作为c_id,它必须显示表中的所有记录。是否有可能在单个查询中实现?

以下是我试过的查询。

SELECT case
 WHEN c_id in ('6') then 1          
      else 0
       END as y from customer
答案

你可以尝试这样的事情:

select *
from customer
where c_id = 6

union all

select *
from customer
where not exists (
    select null
    from customer
    where c_id = 6
)

以上是关于从表中选择所有或仅特定的行的主要内容,如果未能解决你的问题,请参考以下文章

在 SQLite 中使用“_id”从表中选择

从表中选择具有最大日期的行

用于从表中选择具有最新时间戳的行的 JOOQ 代码

从表中选择不同的记录并执行重复行的列总和(托盘、总和)。并显示重复的行一次[关闭]

如何使用 MySQL 查询从表中选择除一列之外的所有内容? [复制]

从表中选择数据并从另一个表中填充特定值