2016年7月31日 星期日

Oracle SQL 查詢 Left join 針對右表條件

Oracle 查詢時,常常會使用到JOIN 但是 針對右表 的過濾條件
放置where 條件 會因為右表 不存在而導致 查詢 失敗。




    select * from a  left join b 
    on a.id = b.id 
    where a.c1 = 2 
    and b.c1 = 3 
    --查詢會造成B表的欄位不存在時,查詢會造成0結果 需特別改成,因為where語法,是用於LEFT JOIN 的結果過濾
    
    --以下查詢會依照 a表為主表 b表的過濾條件當成 join 條件
    select * from a left join b
    on a.id =b.id and b.c1 =3 
    where a.c1=2;
    

沒有留言:

張貼留言