Select也可以很强大,玩转Select 。

在数据库中 Select 是我们熟悉不能再熟悉的一个关键字了。 一般的情况我们用于查询的操作。

那么他还有别的其他用处吗?  最近在深入的学习SQL 发现了Select 原来变化也可以很多。

 

作用1 : 查询

1 -- 简单的查询操作 人尽皆知 不在赘述。
2 SELECT * FROM tab_!



作用2 : 赋值变量

1 -- 复制的作用基本与Set相同
2 DECLARE @to_1 NVARCHAR(10)
3 SELECT @to_1 = 111
4 PRINT ' @to_1的值是:' + @to_1

 

作用3 : 声明匿名列

-- 单纯的Select创建一个匿名列
SELECT '超人' as super

 

作用4 : 创建匿名表

1 -- select 和 union all 的组合创建一个匿名表格
2 SELECT '超人',''
3 UNION ALL SELECT '蝙蝠侠',''
4 UNION all SELECT '猫女',''


作用5 : 创建临时表

-- select into 可以创建一个完全不存在的表,将目标表的值复制进去。
SELECT * INTO #dd FROM 库表名


----------------   组合    ---------------

第一种 :  通过匿名列临时表添加临时表内容

1 -- 快速的创建匿名表,内容也是由SELECT 匿名的。
2 SELECT * INTO #myTab FROM (SELECT 'sp' AS title) AS tab

 

第二种 :  创建匿名列 直接赋值给声明的变量

-- 查询自己的匿名列直接赋值了。
DECLARE @to_1 NVARCHAR(10)
SELECT @to_1 = 111 FROM ( SELECT 'abc' AS title ) AS tab
PRINT 'Hello @to_1的值是:' + @to_1


第三种 : 创建匿名表 直接拷贝给select 创建的临时表

1 -- 临时表和匿名表都来自于SELECT 
2 SELECT * INTO #theTab FROM (
3 SELECT '超人' as man ,'' as sex
4 UNION ALL SELECT '蝙蝠侠',''
5 UNION all SELECT '猫女',''
6 ) AS tab


 目前就想到了这几种,还有什么更高深的作用,希望各位高手指教。

posted @ 2012-03-28 11:02  _大师兄_  阅读(988)  评论(2编辑  收藏  举报