SQL 使用 VALUES 生成帶數(shù)據(jù)的臨時表實例代碼詳解
VALUES 是 INSER 命令的子句。
INSERT INOT 表名(列名1,列名2,…) VALUES(值1,值2,…)
--語法: --SELECT * FROM ( --VALUES -- (1,2,3,......) -- ,(1,2,3,......) -- ,(1,2,3,......) -- ,(1,2,3,......) -- ,(1,2,3,......) -- ,(1,2,3,......) --) AS t(c1,c2,c3......) SELECT * FROM ( VALUES (123456),(123456),(123456),(123456),(123456) ) AS T(c1)
試檢1
-- 試檢1 SELECT * FROM ( VALUES (123456),(123456),(123456),(123456),(123456) ) AS T(c1)
試檢2
-- 試檢2 生成1個列的臨時表 select * into #tmpTable FROM ( VALUES (123456),(123456),(123456),(123456),(123456) ) AS T(c1)
試檢3
-- 生成5個列的臨時表 #tmpTable2 select * into #tmpTable2 FROM ( VALUES (1,2,3,4,123456) ,(2,3,4,5,123456) ,(3,4,5,6,123456) ,(4,100,100,3,123456) ,(23,4,5,5,123456) ) AS T(c1,c2,c3,c4,c5) select * from #tmpTable2
成功了高級一點的例子
計算5列的平均值,求各,最大值,最小值,計數(shù)
使用values子句,將每行數(shù)據(jù)構(gòu)造為只有一個字段的表,以后求最大值,非常巧妙
-- 計算5列的平均值,求各,最大值,最小值,計數(shù) select * into #tmpTable3 FROM ( VALUES (1,2,3,4,123456) ,(2,3,40000,5000,123456) ,(3,4222,5,6000,123456) ,(4,100,100,3,123456) ,(23,4,5,5,123456) ) AS T(c1,c2,c3,c4,c5) select a.* ,(select Max(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nMax ,(select Min(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nMai ,(select Sum(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nSum ,(select Avg(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nAvg ,(select count(NewData) from (values (C1),(C2),(C3),(C4),(C5)) as #temp(NewData)) as nCount from #tmpTable3 as a
到此這篇關(guān)于SQL 使用 VALUES 生成帶數(shù)據(jù)的臨時表實例代碼詳解的文章就介紹到這了,更多相關(guān)sql 臨時表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL?Server縱表轉(zhuǎn)橫表的實現(xiàn)示例
在使用SQL?Server數(shù)據(jù)庫的過程中我們經(jīng)常會遇到需要將查詢結(jié)果從縱表轉(zhuǎn)成橫表的問題,本文就來介紹一下SQL?Server縱表轉(zhuǎn)橫表示例,感興趣的可以了解一下2023-12-12
SQL Server作業(yè)失?。簾o法確定所有者是否有服務(wù)器訪問權(quán)限的解決方法
這篇文章主要介紹了SQL Server作業(yè)失?。簾o法確定所有者是否有服務(wù)器訪問權(quán)限,這里為大家分享一下解決方法,需要的朋友可以參考下2021-06-06
SQL Server創(chuàng)建用戶只能訪問指定數(shù)據(jù)庫和視圖的操作步驟
本文介紹了如何在SQLServer中創(chuàng)建用戶并限定其訪問權(quán)限,包括創(chuàng)建用戶、設(shè)置用戶映射、設(shè)置只能訪問指定的數(shù)據(jù)表或視圖、給指定表或視圖賦予具體權(quán)限和檢查權(quán)限等步驟,這種設(shè)置可以防止用戶訪問到過多不必要的過程表和過程視圖,提高數(shù)據(jù)安全性2024-10-10
MSSQL批量插入數(shù)據(jù)優(yōu)化詳細(xì)
這篇文章主要為大家分享一下批量插入數(shù)據(jù)的方法,有時候我們需要插入大量的數(shù)據(jù)那么就需要優(yōu)惠了,要不根本受不了2017-07-07
SqlServer鎖表如何解鎖(模擬會話事務(wù)方式鎖定一個表然后進(jìn)行解鎖)
SQL提供了強(qiáng)大而完備的鎖機(jī)制來幫助實現(xiàn)數(shù)據(jù)庫系統(tǒng)的并發(fā)性和高性能,本文主要介紹了SqlServer鎖表如何解鎖,具有一定的參考價值,感興趣的可以了解一下2024-04-04
sqlserver性能調(diào)優(yōu)經(jīng)驗總結(jié)
sqlserver的性能調(diào)優(yōu),其實是個很寬廣的話題。坦白講,想從概念到實踐的完全講清楚并掌握透徹,可能至少需要幾本書的內(nèi)容。本文只是一個概念級的總結(jié),希望讀者能對此有新的認(rèn)識,在調(diào)優(yōu)路上有所幫助2013-10-10

