ITPub博客

首页 > Linux操作系统 > Linux操作系统 > left join

left join

原创 Linux操作系统 作者:to_be_dba 时间:2012-11-13 14:46:09 0 删除 编辑

有A、B两个表,根据字段a做判断,如果B中有记录,则返回相应字段,如果字段值为空或者连接无结果,则相应字段赋值为N:

A表
a code name  (注:字段名称列)
12 081 jack
13 082 terry
14 083 tom

B表
a valu  (注:字段名称列)
12 Y
13


返回结果为:
a code name valu  (注:字段名称列)
12 081 jack Y
13 082 terry N
14 083 tom N


实际上A表是多个表查询得到的,cost很大,而B是参数表,虽然valu是Y、N,但字段类型为CHAR,很多空格
a的取值有二百左右

方法
select A.*,B.valu from A left join B on A.a=B.a

 

一个大表,搞了半天,其实就是一个left join可以实现的。还看了半天执行计划,最后发现时on的条件写的有问题~~ 惭愧

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26451536/viewspace-749107/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 转藏 dbms_Stat
下一篇: sql tuning 第一章
请登录后发表评论 登录
全部评论

注册时间:2011-11-23

  • 博文量
    170
  • 访问量
    484886