作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个问题:
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"
以及您能想到的所有组合。
我必须选择名字和姓氏(可能还有更多字段,如出生日期),因为我从外部 API 获取数据,我必须检查这些名字是否在我们的系统中。
最佳答案
SELECT *
FROM users
WHERE (firstname, lastname)
IN ( ('Luke', 'Skywalker')
, ('Foo' , 'Bar')
, ('Tom' , 'Turner')
)
;
关于Mysql Where ... In ... AND where ... in ... 应该只匹配相同的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10111153/
我是一名优秀的程序员,十分优秀!