我觉得,多表查询,采用匹配的方式要比联接方式要快。即
select a.*,b.* from a,b where =
要比
select a.*,b.* from a inner join
快。
这一点,在外部联接上尤其明显。
所以,遇到需要用到外部联接,如
select a.* from a left outer join b on = where =某值
我会这样写
select a.* from a,b where = and =某值
UNION ALL
select a.* from a where =某值 AND NOT EXISTS(SELECT 1 FROM b WHERE id=)
这还不是最优的,还可以这样写
WITH
select w.* from w,b where =
UNION ALL
select w.* from w where NOT EXISTS(SELECT 1 FROM b WHERE id=)
究竟是不是这样子呢?存疑。
 
 
                     
            
        













 
                    

 
                 
                    