我目前正在编写应该查询具有多个ID的多个不同记录的代码。我试过了:
SELECT * FROM Items WHERE ID = ( 1, 2 )
SELECT * FROM Items WHERE ID = 1, 2
SELECT * FROM Items WHERE ID = '1, 2'
我做错了什么?
答案 0 :(得分:2)
使用此
SELECT * FROM Items WHERE ID = 1 or ID = 2;
或使用简写符号
SELECT * FROM Items WHERE ID IN (1,2);
答案 1 :(得分:2)
使用IN
。
SELECT * FROM Items WHERE ID IN (1, 2)
与
相同SELECT * FROM Items WHERE ID = 1 OR ID = 2
对于此声明:“...查询具有多个ID的多个不同记录”,我认为您要搜索具有多个ID的组,如果是这种情况,问题是叫Relational Division
。
SELECT groupColumn
FROM Items
WHERE ID IN (1, 2)
GROUP BY groupColumn
HAVING COUNT(*) = 2
答案 2 :(得分:2)
您需要输入的内容是
SELECT * FROM Items WHERE ID IN (1,2)
对于IN括号内的字符串值,注意使用单引号('1','2')
答案 3 :(得分:2)
使用IN
,如下所示
SELECT * FROM Items WHERE ID IN (1, 2);
答案 4 :(得分:2)
语法:
SELECT * FROM TABLE WHERE ID IN (id1, id2, ..., idn)
在你的情况下:
SELECT * FROM Items WHERE ID IN (1, 2);
答案 5 :(得分:2)
它也会起作用。您正在寻找的信息是大多数SQL语言的“IN”运算符(MySQL example here)。
你正在做的是提供一系列值作为一个集合(IN运算符的右侧),然后要求数据库带回你正在查询的列的记录(IN运算符的左侧)那个集合中有一个值。
答案 6 :(得分:2)
使用
select * from items where id in (1,2);