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

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問(wèn)答專欄Q & A COLUMN

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

Hancock_XuHancock_Xu 回答0 收藏1
收藏問(wèn)題

2條回答

hersion

hersion

回答于2022-06-28 13:57

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

評(píng)論0 贊同0
  •  加載中...
afishhhhh

afishhhhh

回答于2022-06-28 13:57

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

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

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

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