如何从数据库中显示多行?

时间:2011-07-29 15:26:52

标签: php sql

我想知道如何在数据库表中显示多行?我知道一种方法,但它允许您只显示一行。这是代码:

('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')

我该怎么办?

4 个答案:

答案 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来优化查询。