SQL Server 一般資料表運算式(CTE)
要解釋的話挺麻煩的
偷懶一下,可以點下面前往參考
挺容易了解的
偷懶一下,可以點下面前往參考
挺容易了解的
--ISO SQL:2003 --CTE(Common Table Expression) WITH Temp AS ( SELECT * FROM 巨巨 ) SELECT * FROM Temp ORDER BY 價錢 DESC GO ------------------------------------------------------ --可以2個CTE然後join---------------------------------- USE 中文北風 GO WITH T1 AS ( SELECT DISTINCT 職稱 FROM 員工 ), T2 AS ( SELECT 職稱,COUNT(*) AS 人數 FROM 員工 WHERE 稱呼 = '小姐' GROUP BY 職稱 ) SELECT T1.職稱,ISNULL(T2.人數,0) AS 人數 FROM T1 LEFT JOIN T2 ON T1.職稱 = T2.職稱 GO ------------------------------------------------------ ------------------------------------------------------ --CTE遞迴,有時設定沒給好造成無窮迴圈----------------- --這時在結尾的SELETE可以加上OPTION(MAXRECURSION 1) --意思是最大遞廻1次,避免本案例中出現無窮的階層------- WITH EE(員工編號,姓名,職稱,階層) AS ( SELECT 員工編號,姓名,職稱,1 FROM 員工 WHERE 主管 IS NULL UNION ALL SELECT 員工.員工編號,員工.姓名,員工.職稱,EE.階層+1 FROM 員工 JOIN EE ON 員工.主管 = EE.員工編號 ) --SELECT * FROM EE SELECT * FROM EE OPTION(MAXRECURSION 1) GO
留言
張貼留言