我目前正在編寫應該查詢具有多個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);