真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql中withas怎么用

這篇文章給大家分享的是有關(guān)MySQL中with as怎么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為南召企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),南召網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

在mysql中,“with as”也叫子查詢,用于定義一個(gè)sql片段,且該片段會(huì)被整個(gè)sql語句反復(fù)使用很多次,這個(gè)sql片段就相當(dāng)于是一個(gè)公用臨時(shí)表,語法為“with tmp as (查詢語句)”。

本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。

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

對(duì)于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í)表中。很多查詢通過該方式都可以提高速度。

因with as 子查詢僅執(zhí)行一次,將結(jié)果存儲(chǔ)在用戶臨時(shí)表中,提高查詢性能,所以適合多次引用的場景,如:復(fù)雜的報(bào)表統(tǒng)計(jì),分頁查詢,且需要拿到sum、count、avg這類結(jié)果作為篩選條件,對(duì)查詢出的結(jié)果進(jìn)行二次處理!

特別對(duì)于union all比較有用。因?yàn)閡nion all的每個(gè)部分可能相同,但是如果每個(gè)部分都去執(zhí)行一遍的話,則成本太高

常用語法

–針對(duì)一個(gè)別名

with tmp as (select * from tb_name)

–針對(duì)多個(gè)別名

with
tmp as (select * from tb_name),
tmp2 as (select * from tb_name2),
tmp3 as (select * from tb_name3),
…

–相當(dāng)于建了個(gè)e臨時(shí)表

with e as (select * from scott.emp e where e.empno=7499)
select * from e;

–相當(dāng)于建了e、d臨時(shí)表

with
e as (select * from scott.emp),
d as (select * from scott.dept)
select * from e, d where e.deptno = d.deptno;

其實(shí)就是把一大堆重復(fù)用到的sql語句放在with as里面,取一個(gè)別名,后面的查詢就可以用它,這樣對(duì)于大批量的sql語句起到一個(gè)優(yōu)化的作用,而且清楚明了。

感謝各位的閱讀!關(guān)于“mysql中with as怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


當(dāng)前題目:mysql中withas怎么用
網(wǎng)頁地址:http://weahome.cn/article/gdsiei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部