选择两组中的值

时间:2016-04-18 11:56:48

标签: sql

假设我想从数据库Sarah ConnorKyle Reese中提取两个用户。如何使用名字和/或姓名

select * 
from users 
where 
  first_name in ('Sarah', 'Kyle') and 
  last_name in ('Connor', 'Reese')

但是,这个查询是错误的,因为它也会获取Sarah Reese。怎么解决?而且,查询在效果方面也应该是高效的。

2 个答案:

答案 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')