av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

DB2公共表表達(dá)式的用法

DB2公共表表達(dá)式屬于臨時(shí)表,下面就為您詳細(xì)介紹DB2公共表表達(dá)式的使用方法,希望可以讓您對(duì)DB2公共表表達(dá)式有更深的認(rèn)識(shí)。

創(chuàng)新互聯(lián)建站是專業(yè)的石柱土家族網(wǎng)站建設(shè)公司,石柱土家族接單;提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行石柱土家族網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

DB2使用公共表表達(dá)式

DB2公共表表達(dá)式是一個(gè)本地臨時(shí)表,可以在一條 SQL 語(yǔ)句中引用多次。這個(gè)臨時(shí)表只能存在于定義它的 SQL 語(yǔ)句的生命周期內(nèi)。每次公共表表達(dá)式被引用時(shí),其結(jié)果都是相同的。臨時(shí)表是在 SQL 語(yǔ)句中用 WITH 子句定義的。下面是具體的語(yǔ)法:

WITH AS ( FROM
 
是數(shù)據(jù)庫(kù)中的一個(gè)表,也可以是由一個(gè)包括 WITH 子句的 SQL 語(yǔ)句定義的 。 下面是一個(gè)例子:

 
 
 
  1. WITH PROD_QUANTITY AS
  2. (SELECT PRODUCT_ID, SUM (QUANTITY) AS QUANTITY
  3.     FROM CUSTOMER_ORDER_ITEM
  4.     GROUP BY PRODUCT_ID),
  5. TOTALS AS
  6. (SELECT -1 AS PRODUCT_ID, SUM(QUANTITY) AS TOTAL)
  7. SELECT PRODUCT_ID, QUANTITY 
  8. FROM PROD_QUANTITY
  9. UNION
  10. SELECT PRODUCT_ID, TOTALS
  11. FROM TOTALS
  12. ORDER BY 1 DESC

在上述例子中,prod_quantity 被定義為一個(gè)公共表表達(dá)式。它與一個(gè)名為 totals 的公共表表達(dá)式一起使用。最終的 SELECT 語(yǔ)句將從兩個(gè)公共表表達(dá)式中進(jìn)行選擇。

下面看另一個(gè)例子:

 
 
 
  1. WITH
  2. PAYLEVEL AS                                                 
  3.     (SELECT EMPNO, EDLEVEL, YEAR(HIREDATE) AS HIREYEAR,           
  4.         SALARY+BONUS+COMM AS TOTAL_PAY                                     
  5.         FROM EMPLOYEE                                                         
  6.         WHERE EDLEVEL > 16),                                                       
  7. PAYBYED (EDUC_LEVEL, YEAR_OF_HIRE, AVG_TOTAL_PAY) AS         
  8.     (SELECT EDLEVEL, HIREYEAR, AVG(TOTAL_PAY)                  
  9.          FROM PAYLEVEL                                            
  10.          GROUP BY EDLEVEL, HIREYEAR)
  11. SELECT EMPNO, EDLEVEL, YEAR_OF_HIRE, TOTAL_PAY, DECIMAL(AVG_TOTAL_PAY,7,2)
  12.     FROM PAYLEVEL, PAYBYED                                             
  13.     WHERE EDLEVEL = EDUC_LEVEL                                        
  14.         AND HIREYEAR= YEAR_OF_HIRE                              
  15.         AND TOTAL_PAY < AVG_TOTAL_PAY     

這個(gè)公共表表達(dá)式包含了 PAYLEVEL。這個(gè)結(jié)果表包括員工編號(hào)、該員工被雇年份、該員工的總工資以及該員工的受教育程度。只需要包括受教育程度大于 16 的那些員工的記錄。

該列表還包括一個(gè)名為 PAYBYED(“pay by education” 的縮寫(xiě))的公共表表達(dá)式。它通過(guò)使用 PAYLEVEL 表來(lái)確定受教育程度、被雇年份和同年被雇的具有同等受教育程度的員工的平均工資。由這個(gè)表中得到的列的列名(例如 EDUC_LEVEL)與選擇列表中使用的列名不同。

最后,我們得到能夠產(chǎn)生所需結(jié)果的實(shí)際查詢。該查詢連接兩個(gè)表(PAYLEVEL、PAYBYED),確定工資低于同年雇用的所有員工平均工資的員工。注意,PAYBYED 是基于 PAYLEVEL 的,所以在整個(gè)語(yǔ)句中,PAYLEVEL 實(shí)際上被訪問(wèn)了兩次。在這兩次中,計(jì)算查詢時(shí)都用到了同一組行。

在定義一個(gè)公共表表達(dá)式之后,就可以像使用其他表一樣 SQL 語(yǔ)句中使用它??梢匀我獯蔚厥褂霉脖肀磉_(dá)式。甚至可以在之前創(chuàng)建的公共表表達(dá)式的基礎(chǔ)上,再創(chuàng)建一個(gè)公共表表達(dá)式。


分享名稱:DB2公共表表達(dá)式的用法
標(biāo)題鏈接:http://uogjgqi.cn/article/dpcsopo.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流