我有2个表,表1和表2,其中两个表中的2列相同
更新:Table1.col1的类型与Table2.col1相同,Table1.col2的类型与Table2.col2相同
试图获取数据,其中table1.col1不在table2.col1中,而table1.col2不在table2.col2中,这是我的查询。
select * from Table1 where Table1.col1 not in (select Table2.col1 from Table2) and Table1.col2 not in (select Table2.col2 from Table2)
想知道更好的方法还是正确的?
这个查询应该可以完成工作,我根据您的查询进行了简单的测试,但结果却不理想
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
鉴于这种
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)
如果我理解您的问题,我们应该给这个 B | 1 | 2个