2011-12-08 114 views
-4

我想从我的数据库中选择所有行,其中id等于1,6或7.SQL中的多个条件?

如何在查询语句中指定多个条件?

+0

做你的研究下一次。网上有大量的SQL资源可以告诉你这一点。 – Edwin

回答

1

您可以使用OR操作,或为ID的选择,一个IN()条款是适当的:

SELECT col1, col2 FROM tbl WHERE id IN (1,6,7) 

如果您需要在不同的列的条件下,你可以使用逻辑ORAND

-- either or... 
SELECT col1, col2 FROM tbl WHERE col1 = 'someval' OR col2 = 'someotherval' 
-- both conditions met... 
SELECT col1, col2 FROM tbl WHERE col1 = 'someval' AND col2 = 'someotherval' 
0

如果你想在ID是在一组特定的值,你应该使用in条款:

select * from someTable where id in (1, 6, 7) 
0

要回答您的更一般的问题 - 您可以使用关键字ANDOR合并多个谓词。 AND意味着两个谓词都必须为真,OR意味着至少有一个必须为真。如果在同一查询中同时使用ANDOR,通常最好使用括号以确保谓词按照所需顺序关联。

您的查询可以写成:

SELECT col1, col2 FROM tbl WHERE id=1 OR id=6 OR id=7 

更复杂的例子可能是:

SELECT col1, col2 FROM tbl WHERE id=1 OR (id=6 AND col2 = 'X') OR id=7