Wenn Sie nach elegantem SQL suchen, könnten Sie Zeilenkonstruktoren verwenden:
SELECT * FROM email_phone_notes WHERE (email, phone) IN (
('example@sqldat.com' , '555-1212'),
('example@sqldat.com', '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 'example@sqldat.com' AS email, '555-1212' AS phone
UNION ALL
SELECT 'example@sqldat.com', '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
('example@sqldat.com' , '555-1212'),
('example@sqldat.com', '888-1212')
-- etc.
;
SELECT * FROM email_phone_notes NATURAL JOIN foo;