Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 基于某些条件从表中查询_Sql_Oracle - Fatal编程技术网

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

我有一个这样的场景,有两个表,表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 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;