Anda harus menggunakan tidak ada:
SELECT DISTINCT a, b, c FROM t1 WHERE NOT EXISTS (SELECT NULL FROM t2 WHERE t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c)
Menggunakan NOT IN bukanlah metode terbaik untuk melakukan ini, bahkan jika Anda hanya memeriksa satu kunci. Alasannya adalah jika Anda menggunakan NOT EXISTS, DBMS hanya perlu memeriksa indeks jika ada indeks untuk kolom yang diperlukan, sedangkan NOT IN harus membaca data aktual dan membuat set hasil lengkap yang selanjutnya perlu diperiksa .
Menggunakan LEFT JOIN dan kemudian memeriksa NULL juga merupakan ide yang buruk, itu akan sangat lambat ketika tabelnya besar karena kueri perlu membuat keseluruhan bergabung, membaca kedua tabel sepenuhnya dan kemudian membuangnya. Juga, jika kolom mengizinkan nilai NULL, pemeriksaan NULL akan melaporkan positif palsu.