Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有值列表中字段值的SQL SELECT语句_Sql_Select - Fatal编程技术网

带有值列表中字段值的SQL SELECT语句

带有值列表中字段值的SQL SELECT语句,sql,select,Sql,Select,我需要查询SQLite数据库中的一些条目,其中包含一个字段,该字段的值可以是已定义列表中的一个:“Token1”、“Token2”、“TokenN”—可能是一个很长的字段 简单的SELECT语句类似于 SELECT * FROM `my_table` WHERE `token` = 'Token1' OR `token` = 'Token2' OR ... -一点也不优雅。我想知道,有没有更好的方法来表达这个陈述呢?你可以在子句中使用 你可以用IN子句 使用通配符%% 使用通配符%% 如果定义

我需要查询SQLite数据库中的一些条目,其中包含一个字段,该字段的值可以是已定义列表中的一个:“Token1”、“Token2”、“TokenN”—可能是一个很长的字段

简单的SELECT语句类似于

SELECT * FROM `my_table` WHERE `token` = 'Token1' OR `token` = 'Token2' OR ...
-一点也不优雅。我想知道,有没有更好的方法来表达这个陈述呢?

你可以在子句中使用

你可以用IN子句


使用通配符%%


使用通配符%%


如果定义的列表是或可以放在表中,则可以执行以下操作:

SELECT 
   *
FROM [employeeName] Where dept In (Select dept From #tbl)

如果定义的列表是或可以放在表中,则可以执行以下操作:

SELECT 
   *
FROM [employeeName] Where dept In (Select dept From #tbl)

提示:IN更简洁。为什么不使用通配符“%”并避免重复OR部分。提示:IN更简洁。为什么不使用通配符“%”并避免重复OR部分。我在您的评论上写了一个答案,但不知怎的它消失了。1谢谢;2这与我的意思不完全相同:代币不完全是“Token1”、“Token2”等,它们是非常不同的字符串。我在你的评论上写了一个答案,但不知怎么的它消失了。1谢谢;2这与我的意思不完全相同:令牌不完全是“Token1”、“Token2”等,它们是非常不同的字符串。我考虑过这个选项,但是字符串,唉,不在表中,而是非常外部的。我考虑过这个选项,但是字符串,唉,不在表中,而是非常外部的。如果这个答案适合你,请考虑把它标记为答案,这样社区就可以从中受益。如果这个答案适合你,请考虑把它标记为答案,这样社区就可以从中受益。当做
SELECT 
   *
FROM [employeeName] Where dept In (Select dept From #tbl)