1

我想知道是否可以仅通过一个查询获得以下行为。

过滤结果,WHERE但仅在结果不为空时才应用过滤器,例如可选的WHERE.

例如,考虑到有一个 users 表,我想从西班牙检索所有用户,但如果没有,那么我想要所有用户(比如 Where 不会被应用)。

代替:

SELECT * FROM users WHERE country = sp

If result empty then

SELECT * FROM users

我想在一个 sql 语句中执行此行为...有可能吗?

4

1 回答 1

2
select *
from users
where
    country = sp
    or not exists (select 1 from users where country = sp)
于 2013-02-25T12:46:30.847 回答