Sql 基于某些条件从表中查询
我有一个这样的场景,有两个表,表1和表2。这两个表都有一个名为column_1的公共列(没有外键约束!!)。表_1可以有一些在表_2中不存在的额外行(换句话说,表_2是表_1的子集)。我想列出所有只出现在表1中而不出现在表2中的项目。 请帮助我们编写同样的sql查询。 提前谢谢Sql 基于某些条件从表中查询,sql,oracle,Sql,Oracle,我有一个这样的场景,有两个表,表1和表2。这两个表都有一个名为column_1的公共列(没有外键约束!!)。表_1可以有一些在表_2中不存在的额外行(换句话说,表_2是表_1的子集)。我想列出所有只出现在表1中而不出现在表2中的项目。 请帮助我们编写同样的sql查询。 提前谢谢 SELECT a.* FROM table1 a LEFT JOIN table2 b on a.column_1 = b.column_1 WHERE b.column_1 IS
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
上添加索引,这样就不需要进行全表扫描(这会降低性能)
如果这两个表彼此不相关,最好在table1.column_1
和table2.column_1
上添加索引,这样就不需要进行全表扫描(这会降低性能)
select * from table1
inner join table2 on table1.column1=table2.column1
select a.* from table1 a left outer join table2 b on a.col1=b.col1;