Consulta SQL para get los datos de dos tablas con la condición "no en"

Tengo 2 tablas, Table1 y Table2, donde 2 columnas en ambas tablas son iguales

actualización: tipo de Table1.col1 igual que Table2.col1 y Table1.col2 igual que Table2.col2

Intentando search los datos donde table1.col1 no está en table2.col1 y table1.col2 no en table2.col2, y esta es mi consulta.

select * from Table1 where Table1.col1 not in (select Table2.col1 from Table2) and Table1.col2 not in (select Table2.col2 from Table2) 

me gustaría saber de alguna manera mejor o es correcto?

Esta consulta debería hacer el trabajo, ejecuté una testing simple basada en su consulta y no produce el resultado deseado

 SELECT * FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.col1 = t2.col1 AND t1.col2 = t2.col2 WHERE t2.col1 IS NULL AND t2.col2 IS NULL 

Dado este

 CREATE TABLE Table1 ( colA VarChar(50), col1 Int, col2 Int ) CREATE TABLE Table2 ( colB VarChar(50), col1 Int, col2 Int ) INSERT Table1 VALUES ('A', 1, 1), ('B', 1, 2), ('C', 2, 1) INSERT Table2 VALUES ('X', 1, 1), ('Y', 2, 1), ('Z', 2, 2) 

Si entendí tu pregunta, deberíamos get esta B | 1 | 2

Use una combinación IZQUIERDA:

 SELECT Table1.* FROM Table1 LEFT JOIN Table2 ON Table1.col1 = Table2.col1 AND Table1.col2 = Table2.col2 WHERE Table2.col1 IS NULL 

por favor comente, si hay algún problema con esta consulta:

 select * from table1 where not exists (select 1 from table2 where table2.col1 = table1.col1 and table2.col2 = table1.col2)