选择具有多个匹配ID的多个行

时间:2015-06-27 22:30:51

标签: mysql sql

有没有办法查询数据以显示多行选择器?

像:

SELECT * FROM `book` WHERE `book`.id = 1 AND `book`.id = 2;

表:

id name
1  book1
2  book2
3  book3
4  book4

我认为每个id的循环是有利的。

2 个答案:

答案 0 :(得分:3)

嗯,是的,您可以使用in,但这与多个or相同,而不是and - 一个值不能等于两个不相等的值马上:

select *
from `book`
where `book`.id in(1, 2)

答案 1 :(得分:2)

你有一个解决方案,但是你犯了一个错误。 ID不能同时为12,因此您需要使用OR来返回12的行。

SELECT * FROM `book` WHERE `book`.id = 1 OR `book`.id = 2;

稍微简单的表示法是:

SELECT * FROM `book` WHERE `book`.id in (1, 2);
相关问题