我有一个类似的 sql 查询
select *
from users
where uname="ali" and uname="veli"
但是我想做的是得到名字叫“ali”和“veli”的人,但是如果“ali”不存在而“veli”存在,则应该返回存在的人。我怎样才能做到这一点。这很容易查询,但我很困惑。
我有一个类似的 sql 查询
select *
from users
where uname="ali" and uname="veli"
但是我想做的是得到名字叫“ali”和“veli”的人,但是如果“ali”不存在而“veli”存在,则应该返回存在的人。我怎样才能做到这一点。这很容易查询,但我很困惑。
试试这个:
SELECT *
FROM users
WHERE uname IN ("ali", "veli")
你可以做:
select * from users where uname in ("ali", "veli")
按照:
您可以在 sql 中使用 OR 子句或 IN 子句。
前任:
SELECT * FROM users WHERE uname='ali' OR uname='veli'
(或者)
SELECT * FROM users WHERE uname IN ('ali','veli');
name 不能同时是 ali 和 veli。您要做的是获取名称为 ali 或 veli 的用户,查询将如下所示:
select * from users where (uname="ali" or uname="veli")
如果您需要同时满足两个条件,请使用:
select * from users where uname="ali" and uname="veli"
如果您想要满足任一条件的记录,请使用:
select * from users where uname="ali" or uname="veli"
希望你明白了..!
您需要为 where 子句提供正确的逻辑。目前,您正在询问条目 uname 既是“ali”又是“veli”的记录,因为每一行只有一个 uname 条目,这将不会返回任何内容。此查询的正确逻辑是“OR”,因为它告诉您的 SQL 引擎查找 uname = 'ali' OR 'veli' 的所有行。您的查询最终将如下所示:
SELECT * FROM users WHERE uname='ali' OR uname='veli';