SQL中临时表的建立方法
来源:互联网 发布:京东自营是正品吗 知乎 编辑:程序博客网 时间:2024/05/21 12:45
使用临时表,可以减少SQL文的执行次数,提高程序的执行效率。
1. 物理临时表
与数据表一样,在数据库建立的时候建立,长期存在数据库中。程序在运行的时候,临时将数据放入其中,在检查或者修改完成之后,将其中的数据转移到其他数据表中。程序结束之后,删除其中的数据。
2. 连接式临时表
与数据库建立连接的同时建立该临时表,之后的作用与【物理临时表】一致。在连接断开之后,数据库系统删除该临时表。
3. 笛卡尔乘积式临时表
如果操作的数据是两个表中的数据的笛卡尔乘积,可以在SQL中通过两个表的内联,建立这样的临时表数据。
SELECT * FROM
( SELECT 店铺CODE, 商品CODE
FROM T_店铺表, T_商品表
WHERE 店铺CODE IN ('店铺CODE1', '店铺CODE2')
AND 商品CODE IN ('商品CODE1', '商品CODE2')
) AS T_店铺商品
LEFT JOIN T_其他表
ON T_其他表.店铺CODE = T_店铺商品.店铺CODE
AND T_其他表.商品CODE = T_店铺商品.商品CODE
4. 内联式临时表
在SQL中将数据用查询固定值的方式内联形成临时表,然后用该临时表联结其他数据表。
SELECT T_企划_商品.商品CODE, T_企划_商品.企画番号, T_企划_商品.企画開始日, T_企划_商品.企画終了日
FROM
(
SELECT '00000000000001' AS 商品CODE, '20080515' AS 订货开始日, '20080519' AS 订货结束日 UNION ALL
SELECT '00000000000002' AS 商品CODE, '20080516' AS 订货开始日, '20080520' AS 订货结束日 UNION ALL
SELECT '00000000000003' AS 商品CODE, '20080515' AS 订货开始日, '20080521' AS 订货结束日 UNION ALL
SELECT '00000000000004' AS 商品CODE, '20080514' AS 订货开始日, '20080522' AS 订货结束日 UNION ALL
SELECT '00000000000005' AS 商品CODE, '20080513' AS 订货开始日, '20080523' AS 订货结束日 UNION ALL
SELECT '00000000000006' AS 商品CODE, '20080512' AS 订货开始日, '20080524' AS 订货结束日
) AS CHECKDATA
INNER JOIN T_企划_商品
ON T_企划_商品.商品CODE = CHECKDATA.商品CODE
AND T_企划_商品.订货开始日 <= CHECKDATA.订货结束日
AND T_企划_商品.订货结束日 >= CHECKDATA.订货开始日
ORDER BY M_企画_商品.商品CODE
- SQL中临时表的建立方法
- SQL Server中临时表的建立
- sql建立临时表!【转】
- 配置数据引擎(BDE、SQL Link)的简单方法 /制做快速按钮条的方法/建立临时表的方法
- SQL临时表建立和使用的一个例子
- oracle中建立临时表
- oracle中建立临时表
- 临时表在SQL Server和MySql中创建的方法
- 临时表在SQL Server和MySql中创建的方法
- 从ADO中建立临时表、
- 在ADO中建立一个临时表
- sql把结果集插入临时表的方法
- sql server生成临时表的快捷方法
- SQL 判断临时表是不是存在的方法
- sql判断临时表是否存在和创建临时表的方法
- Oracle临时表的建立及使用....
- 临时内核页表的建立过程
- arm linux 临时页表的建立
- SQL Server2000服务器角色和数据库角色
- 这个周末……
- VS2005(c#)项目调试问题解决方案集锦
- 8皇后问题
- 面向对象核心概念
- SQL中临时表的建立方法
- java的常用I/O流~~
- 用DataFormatString格式化GridView
- linux下mount windows共享文件夹
- 微软黑屏后 金山WPS Office日安装量增50%
- 自白
- 微软“黑屏”原来是纸老虎
- 我的未来,何去何从?
- 98406相识十周年聚会