2012-04-08 53 views
2

我有一個SQL查詢是這樣如何在單個查詢

select * 
from users 
where uname="ali" and uname="veli" 

選擇多個名稱,但它不工作我想要做的就是讓他的名字是人「阿里」和「 veli「,但如果」ali「不存在並且」veli「存在,則應該返回現有的。 我該怎麼做。這很容易查詢,但我很困惑。

+0

where something =「something」or something =「othersomething」? – 2012-04-08 16:19:25

+0

uname不能同時「ali」和「veli」 – Dion 2012-04-08 16:23:49

回答

3

名稱不能同時是阿里和威利。你想要做的就是讓用戶在那裏名稱是阿里或王夢奎,查詢應該是這樣的:

select * from users where (uname="ali" or uname="veli") 
+1

select * from年齡= 12的用戶,(uname =「ali」或uname =「veli」)是否正確? – EmreAltun 2012-04-08 16:21:09

6

試試這個:

SELECT * 
FROM users 
WHERE uname IN ("ali", "veli") 
4

你可以在你的sql中使用OR子句或IN子句。

例:

SELECT * FROM users WHERE uname='ali' OR uname='veli' 

(或)

SELECT * FROM users WHERE uname IN ('ali','veli'); 
2

如果同時需要的條件得到滿足,然後使用:
select * from users where uname="ali" and uname="veli"

如果你想記錄,其中要麼條件滿足使用:
select * from users where uname="ali" or uname="veli"

希望你明白了..!

1

您需要爲where子句提供正確的邏輯。目前,您正在詢問uname條目是'ali'還是'veli'的記錄,因爲每行只有一個uname條目,這將不會返回任何內容。這個查詢的適當邏輯是'OR',因爲它告訴你的SQL引擎找到uname ='ali'或'veli'的所有行。您的查詢將最終看起來如下所示:

SELECT * FROM users WHERE uname='ali' OR uname='veli';