sql中有多个条件?

时间:2011-12-08 16:19:04

标签: sql

我想从我的数据库中选择id等于1,6或7的所有行。

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

3 个答案:

答案 0 :(得分:2)

您可以使用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'

答案 1 :(得分:0)

如果您希望id包含在某组值中,则应使用in子句:

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

答案 2 :(得分: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