Има няколко различни начина да направите това, с различна ефективност, в зависимост от това колко добър е вашият оптимизатор на заявки и относителния размер на двете ви таблици:
Това е най-краткото изявление и може да бъде най-бързо, ако телефонният ви указател е много кратък:
SELECT *
FROM Call
WHERE phone_number NOT IN (SELECT phone_number FROM Phone_book)
алтернативно (благодарение на Alterlife )
SELECT *
FROM Call
WHERE NOT EXISTS
(SELECT *
FROM Phone_book
WHERE Phone_book.phone_number = Call.phone_number)
или (благодарение на WOPR)
SELECT *
FROM Call
LEFT OUTER JOIN Phone_Book
ON (Call.phone_number = Phone_book.phone_number)
WHERE Phone_book.phone_number IS NULL
(като игнорираме, че, както казаха други, обикновено е най-добре да изберете само колоните, които искате, а не „*
')