Có một số cách khác nhau để thực hiện việc này, với hiệu quả khác nhau, tùy thuộc vào mức độ tốt của trình tối ưu hóa truy vấn của bạn và kích thước tương đối của hai bảng của bạn:
Đây là câu lệnh ngắn nhất và có thể nhanh nhất nếu danh bạ điện thoại của bạn rất ngắn:
SELECT *
FROM Call
WHERE phone_number NOT IN (SELECT phone_number FROM Phone_book)
cách khác (nhờ Alterlife )
SELECT *
FROM Call
WHERE NOT EXISTS
(SELECT *
FROM Phone_book
WHERE Phone_book.phone_number = Call.phone_number)
hoặc (nhờ WOPR)
SELECT *
FROM Call
LEFT OUTER JOIN Phone_Book
ON (Call.phone_number = Phone_book.phone_number)
WHERE Phone_book.phone_number IS NULL
(bỏ qua điều đó, như những người khác đã nói, tốt nhất là chỉ chọn các cột bạn muốn, không chọn '*
')