我有这样的场景,有2个表table_1和table_2。两个表都有一个名为column_1的公共列(没有foreign_Key约束!!)。 Table_1可以有一些额外的行,这些行在table_2中不存在(换句话说,table_2是table_1的子集)。我想列出仅存在于table_1但不存在于table_2中的所有项目。 请帮助编写相同的SQL查询。 提前谢谢。
答案 0 :(得分: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_1
和table2.column_1
上添加一个索引,这样就不需要全表扫描(会降低性能 EM>)
答案 1 :(得分:1)
select * from table1
inner join table2 on table1.column1=table2.column1
答案 2 :(得分:0)
select a.* from table1 a left outer join table2 b on a.col1=b.col1;