假设我想从数据库 Sarah ConnorKyle Reese 中获取两个用户。如何使用 的名字和第二名 做到这一点?

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

但是,这个查询是错误的,因为它也会获取 Sarah Reese。如何解决?而且,查询在 性能 方面也应该是有效的。

最佳答案

在 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')

关于sql - 选择两组中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36693309/

10-13 09:20