Full join 和 Cross join


 

full join 一定需要 on 條件的匹配,一條匹配全部輸出

cross join 是笛卡爾積,沒有匹配都能輸出

例子:

 

 如何用一個值 替代null?

首先cross join,每一個值都擁有了一行

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

 

 再篩選,

注意遇到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

得到:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM