问:leftjoinon1=1会是什么情况?是这样吗?

3e25854d90451a92c2313f6cdcfccb6.jpg

FineReport 数字化转型的学习者 发布于 2022-7-24 21:33 (编辑于 2022-7-24 21:33)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-7-24 21:38(编辑于 2022-7-24 21:56)

你自己模拟就知道了。。。它是无条件关联了。这样就相当于是笛卡尔积了

image.png

with a as (

select 1 as id, 't1' as myname from dual

union all

select 3 as id, 't3' as myname from dual

union all

select 4 as id, 't4' as myname from dual

),

b as (select 2 as id, 't2' as myname from dual

union all

select 9 as id, 't9' as myname from dual

)

select 

a.*,

b.* 

from a left join b on 1=1

它会按比如上面模拟的A表为基础。。然后再看B表有多少行数据。。两个表的乘积条数

假如A表有50条。。。B表有40条。。最后会产生2000条数据。。。(这种的关联建议你尽量不要用。。不然产生的数据量那是相当的大。)

最佳回答
0
shirokoLv6资深互助
发布于2022-7-24 21:45

1=1 就是直接笛卡尔积 ,两个子查询一个m行一个n行结果是m*n行

  • 3关注人数
  • 272浏览人数
  • 最后回答于:2022-7-24 21:56
    请选择关闭问题的原因
    确定 取消
    返回顶部