1

1 つのクエリだけで次の動作を取得できるかどうかを知りたいです。

結果をフィルターしますWHEREが、オプションのように結果が空でない場合にのみフィルターを適用しますWHERE

たとえば、users テーブルがあり、スペインからすべてのユーザーを取得したいと考えていますが、何もない場合はすべてのユーザーが必要です (Where が適用されないなど)。

それ以外の:

SELECT * FROM users WHERE country = sp

If result empty then

SELECT * FROM users

この動作を 1 つの 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 に答える