• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
没心情
Beauty begins the moment you decide to be yourself.
博客园    首页    新随笔    联系   管理    订阅  订阅
sql: 左连接 和内连接区别联系

select *
from (select rowtemp.*, rownum rownumtemp
from (select u.*,
UA.USR_INFO_ID USR_INFO_ID,
UA.ID USER_ACCOUNT_ID,
UA.USR_CUST_ID,
UA.ACCT_BAL,
UA.AVL_BAL,
UA.FRZ_BAL,
UA.CREATE_TIME UA_CREATE_TIME,
UA.audit_stat,
UA.audit_desc
from USER_ACCOUNT UA
left join (select id userinfo_Id,
nick_name,
name,
terminal u_terminal,
id_no,
mobile,
email,
bank_card_status,
open_account_status,
source_code,
user_label,
create_time u_create_time,
person_code,
org_person_code,
recommend_level,
org_code,
CODE_PATH,
ROLE_TYPE,
INTEGRA_AMOUNT,
paraent_recommend_code recommendercode,
prior name recommendername,
prior mobile recommendermobile,
prior person_code personcode,
prior org_person_code orgpersoncode,
prior user_label recommender_user_label,
prior org_code recommender_org_code
from (select ui11.id,
ui11.nick_name,
ui11.name,
ui11.terminal,
ui11.id_no,
ui11.mobile,
ui11.email,
ui11.bank_card_status,
ui11.open_account_status,
ui11.source_code,
ui11.user_label,
ui11.create_time,
ui11.person_code,
ui11.org_person_code,
coalesce(ui11.org_person_code,
urr.recommend_code) recommend_code,
ui11.org_code,
ui11.ROLE_TYPE,
ui11.INTEGRA_AMOUNT,
nvl(urr.recommend_level, '0') recommend_level,
urr.CODE_PATH,
urr.paraent_recommend_code
from user_info ui11
left join user_recommend_relation urr
on urr.user_info_id = ui11.id
where ui11.data_status = 'valid') tp
start with tp.recommend_level = '0'
connect by prior tp.recommend_code =
tp.paraent_recommend_code) u
on U.userinfo_Id = UA.USR_INFO_ID
where UA.DATA_STATUS = 'valid'
order by UA.AVL_BAL desc) rowtemp)
where rownumtemp <= 20
and rownumtemp > 10 ;

 

这是后台的一个列表,当点击第一页的时候没有问题,但是选择50条记录的时候就有问题了,就会出现左图中的那个空白页面,当时以为是sql出现错误了,结果sql运行到plsql中是正常的,没有任务的问题,可以显示,就又在想会不会是页面标签元素有问题,从上看到下,没有发现问题,后来又点击分页的第二页,又出现空白,第三页又好了,第四页,第五页也没问题,到第六页又出现这种情况,后来单独运行sql选择10到20条数据,发现10条数据中有一条空的数据,那可能是因为空白数据的问题,但是又不能呢直接删除这些空白的数据,因为数据中这种数据有三十多条,这种直接操作数据库的方法是不合理的,后来看看sql,发现是左连接,有可能是左连接中关联出空白的数据,后来改成内连接(inner join),这样两边都有的数据,就不会有空白的数据,这样的话,数据就会正常显示了,但是为什么会出现关联数据的空白数据,可能是之前推荐关系的错乱,导致测试库出现脏数据,这样就造成页面显示的错误。

http://www.cnblogs.com/pcjim/articles/799302.html  (参考资料地址)

 

posted on 2017-09-26 17:03  No-心情  阅读(917)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3