Wenn Sie nach elegantem SQL suchen, könnten Sie Zeilenkonstruktoren verwenden:
SELECT * FROM email_phone_notes WHERE (email, phone) IN (
('[email protected]' , '555-1212'),
('[email protected]', '888-1212')
-- etc.
);
Das ist jedoch überhaupt nicht indexfreundlich und würde auf einem Tisch von nennenswerter Größe nicht empfohlen. Stattdessen könnten Sie eine Tabelle mit Ihren gewünschten Paaren materialisieren und diese mit Ihrer Tabelle verbinden:
SELECT * FROM email_phone_notes NATURAL JOIN (
SELECT '[email protected]' AS email, '555-1212' AS phone
UNION ALL
SELECT '[email protected]', '888-1212'
-- etc.
) t;
Oder füllen Sie eine (temporäre) Tabelle vorab aus:
CREATE TEMPORARY TABLE foo (PRIMARY KEY (email, phone)) Engine=MEMORY
SELECT email, phone FROM email_phone_notes WHERE FALSE
;
INSERT INTO foo
(email, phone)
VALUES
('[email protected]' , '555-1212'),
('[email protected]', '888-1212')
-- etc.
;
SELECT * FROM email_phone_notes NATURAL JOIN foo;