sql: 左连接 和内连接区别联系 No

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  (参考资料地址)

原文地址:https://www.cnblogs.com/takemyjavalisfe/p/7597713.html