我想从我的数据库中选择id等于1,6或7的所有行。
如何在查询语句中指定多个条件?
答案 0 :(得分:2)
您可以使用OR
操作,或者对于id选项,IN ()
子句是合适的:
SELECT col1, col2 FROM tbl WHERE id IN (1,6,7)
如果您在不同列上需要条件,则可以使用逻辑OR
或AND
:
-- 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)
要回答更一般的问题,您可以使用关键字AND
和OR
来组合多个谓词。 AND
表示两个谓词都必须为真,OR
表示至少有一个必须为真。如果在同一查询中同时使用AND
和OR
,通常最好使用括号来确保谓词以所需顺序关联。
您的查询可以写成:
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