我有一个查询:
SELECT * FROM `users`
WHERE (`firstname` LIKE 'Luke' AND `lastname` LIKE 'Skywalker') OR
(`firstname` LIKE 'Foo' AND `lastname` LIKE 'Bar') OR
(`firstname` LIKE 'Tom' AND `lastname` LIKE 'Turner');
但我想通过使用 where ... in ... 使其更具可读性我试过
SELECT * FROM users
WHERE `firstname`
IN ('Luke','Foo','Tom') AND `lastname` IN ('Skywalker','Bar','Turner');
但不幸的是,这也将匹配"Tom Skywalker"
,"Foo Turner"
并且您可以想到所有混合。
我必须选择名字和姓氏(也许更多字段,如 DOB),因为我从外部 API 获取数据,我必须检查这些名字是否在我们的系统中。