日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

oracle中with的用法及用处

發布時間:2025/3/11 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中with的用法及用处 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文出處:http://blog.csdn.net/chenjinlin1/article/details/6572401

----------------------------------------------------------------

========
WITH
========
用于一個語句中某些中間結果放在臨時表空間的SQL語句

WITH??channel_summary AS (
SELECT channels.channel_desc, SUM(amount_sold) AS channel_total
FROM sales, channels
WHERE sales.channel_id = channels.channel_id
GROUP BY channels.channel_desc
)
SELECT channel_desc, channel_total
FROM channel_summary
WHERE channel_total > (
SELECT SUM(channel_total) * 1/3
FROM channel_summary);

CHANNEL_DESC? ?? ?? ?CHANNEL_TOTAL
-------------------- -------------
Direct Sales? ?? ?? ?? ? 312829530

channel_summary表就是WITH生成的中間表

1: 這個臨時表空間channel_summary??什么時候清除呢?是一個會話結束自動消失嘛?

?????臨時表在會話結束就自動被PGA清除
2:就這一功能來說,子查詢就可以達到啊,為什么要用with呢? 用with有什么好處,不會僅僅是 ...

???? 都能寫,但執行計劃不同的。當有多個相似子查詢的時候,用with寫公共部分,因為子查詢結果在內存臨時表中,執行效率當然就高啦。
?????如果你后面需要不止一次地引用這個結果,那么WITH就會大大提高效率。
???? 代碼的可讀性好


總結

以上是生活随笔為你收集整理的oracle中with的用法及用处的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。