Há várias maneiras diferentes de fazer isso, com eficiência variável, dependendo da qualidade do seu otimizador de consulta e do tamanho relativo de suas duas tabelas:
Esta é a declaração mais curta e pode ser mais rápida se sua lista telefônica for muito curta:
SELECT *
FROM Call
WHERE phone_number NOT IN (SELECT phone_number FROM Phone_book)
alternativamente (graças a Alterlife )
SELECT *
FROM Call
WHERE NOT EXISTS
(SELECT *
FROM Phone_book
WHERE Phone_book.phone_number = Call.phone_number)
ou (graças a WOPR)
SELECT *
FROM Call
LEFT OUTER JOIN Phone_Book
ON (Call.phone_number = Phone_book.phone_number)
WHERE Phone_book.phone_number IS NULL
(ignorando que, como outros disseram, normalmente é melhor selecionar apenas as colunas que você deseja, não '
*
')