一般说不相关子查询效率高些,但也要看你的SQL语句怎么写。
如果不相关子查询的语句查询的数据量较大,那效率上和多表连接查询差不多,如:
select * from a where a.age>(select max(age) from b)
如果子查询仅仅查询符合逻辑存在判断的语法,那效率远远高于连接查询,如:
select * from a where exists(select 1 from b where rownum<=1)
不相关子查询效率高些 原因是多表连接查询时每条记录都要匹配,这样会耗费很多时间和不必要的内存。我个人观点
多表连接比子查询效率更高,子查询回溯的层次多,算法上复杂一些