2011-12-08 115 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