洗練されたSQLが必要な場合は、行コンストラクターを使用できます。
SELECT * FROM email_phone_notes WHERE (email, phone) IN (
('[email protected]' , '555-1212'),
('[email protected]', '888-1212')
-- etc.
);
ただし、これはインデックスに適しているわけではなく、大きなサイズのテーブルではお勧めできません。代わりに、必要なペアを使用してテーブルをマテリアライズし、それをテーブルと結合することができます。
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;
または、(一時的な)テーブルを事前入力します:
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;