Full join 和 Cross join

 

full join 一定需要 on 条件的匹配,一条匹配全部输出

cross join 是笛卡尔积,没有匹配都能输出

例子:

Full join 和 Cross join

 

 如何用一个值 替代null?

首先cross join,每一个值都拥有了一行

with
t1 as (select avg(scores) avg_score from testscore2 )
select * from testscore2 cross join t1

Full join 和 Cross join

 

 再筛选,

注意遇到null时,这么写

case when scores is NULL
with
t1 as (select avg(scores) avg_score from testscore2 )
select id,subject,(case when scores is NULL then avg_score else scores end)scores 
from testscore2 cross join t1

得到:

Full join 和 Cross join

 

相关文章:

  • 2021-08-03
  • 2022-12-23
  • 2021-09-17
  • 2021-08-03
  • 2021-08-07
  • 2021-09-19
  • 2021-06-10
猜你喜欢
  • 2021-08-03
  • 2022-12-23
  • 2021-12-08
  • 2022-03-08
  • 2021-07-31
  • 2022-12-23
  • 2021-09-12
相关资源
相似解决方案