1. 程式人生 > 其它 >sql語句中with用法

sql語句中with用法

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

1、關鍵字作用:
WITH AS短語,也叫做子查詢部分,定義一個SQL片斷後,該SQL片斷可以被整個SQL語句所用到。有的時候,with as是為了提高SQL語句的可讀性,減少巢狀冗餘。

2、關鍵字概述:
1、在標準的資料庫中,如hive,Oracle,DB2,SQL SERVER,PostgreSQL都是支援WITH AS 語句進行遞迴查詢。只有MySQL是不支援的。

比如SQL:
with as (
select * from user ) A
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

每天多努力一點,你將會變得更好。