2

我有一个这样的场景,有 2 个表 table_1 和 table_2。两个表都有一个名为 column_1 的公共列(没有 foreign_Key 约束!!)。Table_1 可以有一些额外的行,这些行在 table_2 中不存在(换句话说,table_2 是 table_1 的子集)。我想列出所有仅存在于 table_1 但不存在于 table_2 中的项目。请帮助编写相同的sql查询。提前致谢。

4

3 回答 3

3
SELECT a.*
FROM   table1 a
       LEFT JOIN table2 b
           on a.column_1 = b.column_1
WHERE b.column_1 IS NULL

如果这两个表彼此不相关,最好添加一个索引table1.column_1table2.column_1这样就不需要全表扫描(这会降低性能

于 2012-10-29T05:19:10.593 回答
1
 select * from table1 
 inner join table2 on table1.column1=table2.column1
于 2012-10-29T05:20:28.737 回答
0
select a.* from table1 a left outer join table2 b on a.col1=b.col1;
于 2012-10-29T08:51:13.727 回答