with...as的用法就相當於join....on的用法
下面展示with怎麼用(資料不用管,縮減版)
with
tmp_order as
(select
sku_id
from detail),
tmp_payment as
(select
sku_id,
payment_count
from refund
)insert overwrite table daycount
select
sku_id,
payment_count,
from
(select
sku_id,
0 payment_count
from tmp_order
union all
select
sku_id,
payment_count
from tmp_payment
);
解釋一下0 payment_count是什麼意思
是這張臨時表沒有 所以用0 payment_count
展示join..on
insert overwrite table daycount
select
a.sku_id,
b.payment_count
from
detail a
join refund b
on a.sku_id=b.sku_id
這樣看顯然join…on更簡單
總結
表少用join…on
表多用with…as
SQL 中With as 的用法
一 with as的含義 with as短語,也叫做子查詢部分 subquery factoring 可以讓你做很多事情,定義乙個sql片斷,該sql片斷會被整個sql語句所用到。有的時候,是為了讓sql語句的可讀性更高些,也有可能是在union all的不同部分,作為提供資料的部分。特別對於uni...
SQL 中With as 的用法
一 with as的含義 with as短語,也叫做子查詢部分 subquery factoring 可以讓你做很多事情,定義乙個sql片斷,該sql片斷會被整個sql語句所用到。有的時候,是為了讓sql語句的可讀性更高些,也有可能是在union all的不同部分,作為提供資料的部分。特別對於uni...
sql中with as的用法
一 with as的含義 with as短語,也叫做子查詢部分 subquery factoring 可以讓你做很多事情,定義乙個sql片斷,該sql片斷會被整個sql語句所用到。有的時候,是為了讓sql語句的可讀性更高些,也有可能是在union all的不同部分,作為提供資料的部分。特別對於uni...