Mysql Где... В... И где... в... должны совпадать только по одному и тому же индексу

У меня есть запрос :

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 и мне нужно проверить, есть ли эти имена в нашей системе.

7
задан safarov 11 April 2012 в 17:45
поделиться