我是新來的數據庫,並想知道如果我可以使用類似下面的語句:SQL我可以用「或」 /「和」 WHERE子句
SELECT * FROM Table Where Name = "abc" or "xyz" or "pqr";
我知道,這並未」噸工作,我需要找到名稱可能是其中任何一個表中的條目。
謝謝
我是新來的數據庫,並想知道如果我可以使用類似下面的語句:SQL我可以用「或」 /「和」 WHERE子句
SELECT * FROM Table Where Name = "abc" or "xyz" or "pqr";
我知道,這並未」噸工作,我需要找到名稱可能是其中任何一個表中的條目。
謝謝
SELECT * FROM Table Where Name IN ('abc','yz','pqr')
SELECT * FROM TABLE WHERE Field IN ('abc','xyz');
或
SELECT * FROM TABLE WHERE Field = 'abc' OR Field = 'xyz';
您必須再次使用列名這樣:
SELECT * FROM Table
Where Name = "abc"
OR Name = "xyz"
OR Name = "pqr";
但在這種情況下,它多好做一個IN
。
SELECT * FROM Table
Where Name IN ("abc","xyz","pqr");
您還沒有指定一個關係型數據庫(SQL服務器,Oracle,MySQL等...),但你需要每次都指定列名,就像這樣:
SELECT * FROM Table
Where Name = 'abc' or Name = 'xyz' or Name = 'pqr';
這將是更有效的使用IN
聲明它來寫,但是:
SELECT * FROM Table
Where Name IN ('abc', 'xyz', 'pqr');
+1:最後,解釋一個答案:) –
正確的語法與AND
和OR
使用的是:
SELECT *
FROM Table
Where Name = "abc"
or
Name = "xyz"
or
Name = "pqr"
請注意,您需要限定每個子句的列名稱。
雖然你可以使用:
SELECT *
FROM Table
Where Name IN ("abc", "xyz", "pqr");
你得到一個錯誤的原因是OR運算符的每一側必須是計算結果爲布爾(true或false)的表達式。
這是你陳述的更正版本:
Select * from Table Where Name in ('abc', 'xyz', 'pqr')
:
Select * From Table Where Name = 'abc' or name = 'xyz' or name = 'pqr'
你也可以使用IN子句中寫
非常感謝所有的答案。這有很大的幫助:) – developer1
由於已經多次回答,這很容易。不想過於苛刻,我可以建議閱讀一本關於SQL的入門書籍嗎? –