SQL中cross join,left join,right join ,full join,inner join 的区别

http://blog.csdn.net/sgivee/article/details/5081350 SQL中cross join,left join,right join ,full join,inner join 的区别   cross join 是笛卡儿乘积 就是一张表的行数乘以另一张表的行数
left join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
right join
第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null
full join
返回两张表中的行 left join+right join
inner join
只返回两张表连接列的匹配项
  http://wuaner.iteye.com/blog/559014

  1. insert into t_sales_forecast   
  2. select SALES_FORECAST_SEQUENCE.nextval as id,basic.* from    
  3. (   
  4. select school_id,district_id,year_table.year,month_table.month ,500 as or_forcast,1000 as re_forcast,sysdate as update_date,'1' as user_id,sysdate as insert_date   
  5. from v_school_district   
  6. cross join    
  7. (   
  8. select level as year from dual  where level>2006 connect by level<2012   
  9. ) year_table   
  10. cross join    
  11. (   
  12. select lpad(level,2,0) month from dual connect by level <13    
  13. ) month_table   
  14. order by school_id,district_id,year_table.year,month_table.month    
  15. ) basic  


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部