SQL中 with函數的詳解與用法


轉載地址:https://blog.csdn.net/weixin_46163590/article/details/106013896

前言:
前幾天在工作中有跟同事學習到了一個新的SQL寫法,那就是今天所有記錄的with as 關鍵字的用法與學習。

見諒我是個案板上的小菜雞,學起來那咱就。
1、關鍵字作用:
WITH AS短語,也叫做子查詢部分,定義一個SQL片斷后,該SQL片斷可以被整個SQL語句所用到。有的時候,with as是為了提高SQL語句的可讀性,減少嵌套冗余。

2、關鍵字概述:
1、在標准的數據庫中,如hive,Oracle,DB2,SQL SERVER,PostgreSQL都是支持WITH AS 語句進行遞歸查詢。只有MySQL是不支持的。

比如SQL:

1 with as (
2 select * from user ) A
3 select * from student customer where customer.userid = a.user.id

 

這個sql語句的意思是:先執行select * from user把結果放到一個臨時表A中,作為全局使用。

with as的用法可以通俗點講是,講需要頻繁執行的slq片段加個別名放到全局中,后面直接調用就可以,這樣減少調用次數,優化執行效率。

3. with as的優點
增加了sql的易讀性,如果構造了多個子查詢,結構會更清晰;
更重要的是:“一次分析,多次使用”,這也是為什么會提供性能的地方,達到了“少讀”的目標

“一次分析,多次使用”,這也是為什么會提供性能的地方,達到了“少讀”的目標
4.自己練習一道題目
with ZQ1 as
(select distinct(sno),sname,ssex,sclass from student),
ZQ2 as
(select sno,cno,degree from score )
select * from ZQ1,ZQ2
where ZQ1.sno =ZQ2.sno

 

 


————————————————
版權聲明:本文為CSDN博主「賀禧年_碼農」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_46163590/article/details/106013896


免責聲明!

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



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