假设我想从数据库Sarah Connor
和Kyle Reese
中提取两个用户。如何使用名字和/或姓名?
select *
from users
where
first_name in ('Sarah', 'Kyle') and
last_name in ('Connor', 'Reese')
但是,这个查询是错误的,因为它也会获取Sarah Reese
。怎么解决?而且,查询在效果方面也应该是高效的。
答案 0 :(得分:5)
在MySQL中你可以使用它:
select *
from users
where
(first_name, last_name) in (('Sarah', 'Connor'), ('Kyle', 'Reese'))
否则你可以使用:
select *
from users
where
(first_name = 'Sarah' and last_name = 'Connor') or
(first_name = 'Kyle' and last_name = 'Reese')
答案 1 :(得分:1)
尝试使用SQL Server,
select *
from users
where first_name + ' ' + last_name in ('Sarah Connor','Kyle Reese')