我想知道如何在数据库表中显示多行?我知道一种方法,但它允许您只显示一行。这是代码:
('SELECT * FROM cats WHERE cat_id="32" ORDER BY sorting')
我需要标记WHERE显示更多id。不好的例子
('SELECT * FROM cats WHERE cat_id="32, 33, 34, 37" ORDER BY sorting')
我该怎么办?
答案 0 :(得分:6)
SELECT * FROM cats WHERE cat_id IN (32, 33, 35, 37) ORDER BY sorting
答案 1 :(得分:1)
SELECT *
FROM cats
WHERE cat_id IN ("32", "33", "34", "37")
ORDER BY sorting
答案 2 :(得分:0)
Kristofer Hoch有最好的答案,但你应该注意你也可以写
WHERE cat_id = 32
OR cat_id = 33
OR cat_id = 35
OR cat_id = 37
答案 3 :(得分:0)
Conrad和Kristofer的例子在你展示的简单用例中完美无缺。请注意,使用OR或IN有时会强制优化器创建临时表。如果您正在编写更复杂的查询,并且IN子句中使用的字段不是索引,请确保运行EXPLAIN命令。
EXPLAIN [you query here];
识别此方案。在某些情况下,我不得不使用UNION来优化查询。