Nếu bạn theo đuổi SQL thanh lịch, bạn có thể sử dụng các hàm tạo hàng:
SELECT * FROM email_phone_notes WHERE (email, phone) IN (
('example@sqldat.com' , '555-1212'),
('example@sqldat.com', '888-1212')
-- etc.
);
Tuy nhiên, điều đó hoàn toàn không thân thiện với chỉ mục và sẽ không được đề xuất trên một bảng có kích thước đáng kể. Thay vào đó, bạn có thể hiện thực hóa một bảng với các cặp mong muốn và nối chúng với bảng của bạn:
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;
Hoặc điền trước một bảng (tạm thời):
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;