如何在一个查询中选择多个ID,如下所示:
SELECT * FROM users WHERE id = 1 AND 2 AND 3
当我尝试这个时,我得到一个错误。
答案 0 :(得分:3)
您遇到的问题是因为您使用的是AND
。很可能没有用户可以拥有多个id
,因此您需要使用OR
代替:
SELECT *
FROM users
WHERE id = 1 OR id = 2 OR id = 3;
为了进一步简化这一点,您应该考虑使用IN
子句:
SELECT *
FROM users
WHERE id IN (1, 2, 3);
修改强>
一份附注,因为我多次犯了这个错误,因为你认为自己很可能接近这个:
我希望用户使用ID 1,2, AND 3。
但是,您正在编写的SQL查询说:
我希望用户ID为1,2, AND 3。
但这是不可能的。所以我建议你这样想:
我想要id值为1,2, OR 3的用户。
我知道这似乎有点像切线,但这是许多初学者常见的误解,并且学会以这种方式思考AND
和OR
很可能有助于前进。