如何在单个查询中选择多个名称

时间:2012-04-08 16:17:07

标签: sql

我有一个类似的SQL查询

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

但是它没有用,我想要做的是得到名字为“ali”和“veli”的人,但如果“ali”不存在且“veli”存在,那么现有的应该返回。 我怎样才能做到这一点。这很容易查询,但我很困惑。

6 个答案:

答案 0 :(得分:6)

试试这个:

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

答案 1 :(得分:5)

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

例如:

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

(或)

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

答案 2 :(得分:4)

你可以这样做:

select * from users where uname in ("ali", "veli")

按照:

http://www.w3schools.com/sql/sql_in.asp

答案 3 :(得分:3)

名称不能同时为ali和veli。你想要做的是让用户名为ali或veli,查询将如下所示:

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

答案 4 :(得分:2)

如果您需要满足两个条件,请使用:
select * from users where uname="ali" and uname="veli"

如果您想要满足条件的记录,请使用:
select * from users where uname="ali" or uname="veli"

希望你明白了!!

答案 5 :(得分:1)

您需要为where子句提供正确的逻辑。目前你要求输入uname是'ali'和'veli'的记录,因为每行只有一个uname条目,这将不返回任何内容。此查询的正确逻辑是“OR”,因为它告诉您的SQL引擎找到uname ='ali'或'veli'的所有行。您的查询最终将如下所示:

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