根据某些条件从表中查询

时间:2012-10-29 05:17:32

标签: sql oracle

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

3 个答案:

答案 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_1table2.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;