我有下面的表:如何高效地返回WHERE条件的行与多组值匹配?
id, name, surname
我有以下SQL查询:
SELECT `id` from `table` WHERE name = 'John' AND surname = 'Smith';
正如我有名字和姓氏的列表,我想检查,如果他们是否存在于表中或者我不想做单个查询并返回id(如果存在匹配集合的姓名和姓)或空的id(或零)以指示不匹配名字和姓氏的结合。
所以我也基本是这样的:
SELECT `id` from `table` WHERE name = 'John' AND surname = 'Smith';
SELECT `id` from `table` WHERE name = 'Claudia' AND surname = 'Janssen';
SELECT `id` from `table` WHERE name = 'Eduart' AND surname = 'Allen';
SELECT `id` from `table` WHERE name = 'Don' AND surname = 'Diablo';
SELECT `id` from `table` WHERE name = 'Esther' AND surname = 'Smith';
(大量的查询)
我觉得在声明中不起作用,因为它还会如果返回一个ID有人用表中找到了同名和另一个姓氏相同的人。找到组合很重要。
我的问题是:如何有效地执行mysql查询,如上面5个单个查询所规定的那样?
你肯定你不能确定这里有什么错误? – Strawberry 2014-12-04 09:55:39
您有不正确的SQL查询。 – Richie 2014-12-04 09:56:45
是的,有一些'美丽'的错误,编辑它们。 – BastiaanWW 2014-12-04 10:05:38