我目前正在编写应该查询具有多个ID的多个不同记录的代码。我曾尝试过:查询多个值
SELECT * FROM Items WHERE ID = (1, 2)
SELECT * FROM Items WHERE ID = 1, 2
SELECT * FROM Items WHERE ID = '1, 2'
我在做什么错?
我目前正在编写应该查询具有多个ID的多个不同记录的代码。我曾尝试过:查询多个值
SELECT * FROM Items WHERE ID = (1, 2)
SELECT * FROM Items WHERE ID = 1, 2
SELECT * FROM Items WHERE ID = '1, 2'
我在做什么错?
这将很好的工作。您要查找的信息是大多数SQL语言的“IN”运算符(MySQL example here)。
你正在做的是提供一系列值作为一个集合(IN运算符的右侧),然后要求数据库带回你正在查询的列的记录(IN运算符的左侧)具有集合中的其中一个值。
使用此
SELECT * FROM Items WHERE ID = 1 or ID = 2;
或使用速记符号
SELECT * FROM Items WHERE ID IN (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
你需要键入什么是
SELECT * FROM Items WHERE ID IN (1,2)
注意字符串值中的括号内使用单引号( '1', '2')
使用IN
像以下
SELECT * FROM Items WHERE ID IN (1, 2);
语法:
SELECT * FROM TABLE WHERE ID IN (id1, id2, ..., idn)
在这里,你的情况:
SELECT * FROM Items WHERE ID IN (1, 2);
使用
select * from items where id in (1,2);