{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

數(shù)據(jù)庫sql with as 用法如何?

Hancock_XuHancock_Xu 回答0 收藏1
收藏問題

2條回答

hersion

hersion

回答于2022-06-28 13:57

WITH AS短語,也叫做子查詢部分(subquery factoring),可以讓你做很多事情,定義一個(gè)SQL片斷,該SQL片斷會(huì)被整個(gè)SQL語句所用到。有的時(shí)候,是為了讓SQL語句的可讀性更高些,也有可能是在UNION ALL的不同部分,作為提供數(shù)據(jù)的部分。 特別對于UNION ALL比較有用。因?yàn)閁NION ALL的每個(gè)部分可能相同,但是如果每個(gè)部分都去執(zhí)行一遍的話,則成本太高,所以可以使用WITH AS短語,則只要執(zhí)行一遍即可。如果WITH AS短語所定義的表名被調(diào)用兩次以上,則優(yōu)化器會(huì)自動(dòng)將WITH AS短語所獲取的數(shù)據(jù)放入一個(gè)TEMP表里,如果只是被調(diào)用一次,則不會(huì)。而提示materialize則是強(qiáng)制將WITH AS短語里的數(shù)據(jù)放入一個(gè)全局臨時(shí)表里。很多查詢通過這種方法都可以提高速度。 MERGE INTO TABLE1 A USING ( WITH CTE AS (SELECT COL1, SUM(COL2) TOTAL FROM TABLE2 GROUP BY COL1) SELECT * FROM CTE ) B ON (A.COL1 = B.COL2) WHEN MATCHED THEN UPDATE SET A.TOTAL = B.TOTAL;

評論0 贊同0
  •  加載中...
afishhhhh

afishhhhh

回答于2022-06-28 13:57

WITH AS短語,也叫做子查詢部分(subquery factoring),可以定義一個(gè)SQL片斷,該SQL片斷會(huì)被整個(gè)SQL語句用到??梢允筍QL語句的可讀性更高,也可以在UNION ALL的不同部分,作為提供數(shù)據(jù)的部分。

對于UNION ALL,使用WITH AS定義了一個(gè)UNION ALL語句,當(dāng)該片斷被調(diào)用2次以上,優(yōu)化器會(huì)自動(dòng)將該WITH AS短語所獲取的數(shù)據(jù)放入一個(gè)Temp表中。而提示meterialize則是強(qiáng)制將WITH AS短語的數(shù)據(jù)放入一個(gè)全局臨時(shí)表中。很多查詢通過該方式都可以提高速度

評論0 贊同0
  •  加載中...

相關(guān)問題

最新活動(dòng)

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<