mysql - 在语句的 WHERE 部分使用 OR 过滤 SQL 结果的最佳实践

标签 mysql sql

然而,我已经使用了 mySQL 相当一段时间,这是我第一次必须执行如下查询。它有效,但我想知道是否有更好的方法来编写它。

SELECT * FROM foo WHERE bar = 10058 or bar = 90234  or bar = 98211 or bar 4002 or bar = 90023

使用这种方法可以提取的行数是否有限制?我犯错了吗?有没有更好的办法?

仅供引用,在这种特殊情况下,栏将始终是唯一的

最佳答案

使用 IN,像这样:

SELECT * FROM foo WHERE bar IN (10058,90234,98211,4002,90023)

关于mysql - 在语句的 WHERE 部分使用 OR 过滤 SQL 结果的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741005/

相关文章:

mysql - 是否建议添加单独的状态字段来检查完成情况,或者完成者 ID 和日期是否足够?

php - 从 2 个表中选择数据 + propel

php - 如何在谷歌云sql实例上创建数据库

sql - 在具有 ID-Ref 列 SQL 的表中选择名称而不是 ID

php - 我想通过单击编辑来选择整行进行编辑

mysql - 如何在 mysql 中创建更高的自动增量 ID 号

mysql - 从每个对话中获取最后一条消息

c# - Entity Framework 中的关系表问题

c# - 如何将数据插入 Microsoft Access 数据库?

php - 从字符串中选择 50 个单词