Sql 如何使用同一查询选择具有所有可能id的项目,或仅选择一个特定id的项目?

Sql 如何使用同一查询选择具有所有可能id的项目,或仅选择一个特定id的项目?,sql,Sql,SQL中是否有一个变量可用于表示字段的所有可能值?类似于这个伪代码 SELECT name FROM table WHERE id = *ALL_EXISTING_ID-s* 在这种情况下,我想返回所有行,但稍后当我进行搜索时,只需要一个项目,我就可以用我正在寻找的id替换该变量,即 SELECT name FROM table WHERE id = 1 最简单的方法是删除WHERE子句。这将返回所有行 SELECT name FROM table 如果您想要一些“神奇”的值,您可以将其

SQL中是否有一个变量可用于表示字段的所有可能值?类似于这个伪代码

SELECT name FROM table WHERE id = *ALL_EXISTING_ID-s*
在这种情况下,我想返回所有行,但稍后当我进行搜索时,只需要一个项目,我就可以用我正在寻找的
id
替换该变量,即

SELECT name FROM table WHERE id = 1

最简单的方法是删除WHERE子句。这将返回所有行

SELECT name FROM table 
如果您想要一些“神奇”的值,您可以将其用于现有查询中可以使用的ID,它将返回所有行,我认为您运气不好

尽管你可以用这样的东西:

SELECT name FROM table WHERE id = IFNULL(?, id)
如果提供值
NULL
,将返回所有行

如果不喜欢
NULL
,请尝试以下查询,如果提供了值
-1
,该查询将返回所有行:

SELECT name FROM table WHERE id = IFNULL(NULLIF(?, -1), id)
实现相同效果(但需要绑定id两次)的另一种方法是:


最简单的方法是删除WHERE子句。这将返回所有行

SELECT name FROM table 
如果您想要一些“神奇”的值,您可以将其用于现有查询中可以使用的ID,它将返回所有行,我认为您运气不好

尽管你可以用这样的东西:

SELECT name FROM table WHERE id = IFNULL(?, id)
如果提供值
NULL
,将返回所有行

如果不喜欢
NULL
,请尝试以下查询,如果提供了值
-1
,该查询将返回所有行:

SELECT name FROM table WHERE id = IFNULL(NULLIF(?, -1), id)
实现相同效果(但需要绑定id两次)的另一种方法是:


你是指某种很长的OR语句,还是一个表中的所有值?为什么不使用两种不同的查询?@arxanas这是一个很长的语句,有很多字段可供选择conditions@NAnocom我可以。我只是想知道是否有可能在一条语句中实现这一点,你是指某种非常长的OR语句,还是一个表中的所有值?为什么不使用两个不同的查询?@arxanas这是一条非常长的语句,有很多字段可供选择,并且conditions@NAnocom我可以。我只是想知道是否有可能在One中实现这一点,我需要使用
WHERE
-这只是一个非常简单的示例。真正的连接包括许多连接、要比较的字段和条件。但是latters似乎是一个解决方案,我需要使用
WHERE
——这只是一个非常简单的例子。真正的连接包括许多连接、要比较的字段和条件。但latters似乎是一个解决方案