Ако търсите елегантен SQL, можете да използвате конструктори на редове:
SELECT * FROM email_phone_notes WHERE (email, phone) IN (
('example@sqldat.com' , '555-1212'),
('example@sqldat.com', '888-1212')
-- etc.
);
Това обаче изобщо не е удобно за индексиране и не би било препоръчително за таблица със значителен размер. Вместо това можете да материализирате таблица с желаните от вас двойки и да я присъедините към вашата таблица:
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;
Или попълнете предварително (временна) таблица:
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;