`
lusanxiong
  • 浏览: 20253 次
社区版块
存档分类
最新评论

t-sql with as用法

阅读更多
with as 在t-sql(SQL Server 2005版)中也称为公用表达试,语法如下:

WITH [name of temporary resultset] (columns in result set)
AS ( SQL Query Definition )


with as 作用:相当于定义一个临时名称存储一个select结果集。
with as 效率:比子查询和表变量效率要高。

examples:
WITH Developers (Name,Salary)
AS
(
SELECT Name, Salary FROM Employees WHERE Position = 'Software Developer'
)

SELECT * FROM Developers

注意:公用表达式名称只能用于其之后的第一条SQL语句。公用表达式可以多次被引用(也是在其之后的第一条语句)。


另外详细使用,可以参考msdn:http://technet.microsoft.com/zh-cn/library/ms175972(v=sql.90)
分享到:
评论
1 楼 lifeng1735 2013-05-22  
  • [list]
  • [*][list]
  • [*][*][list]
  • [*][*][*][list]
  • [*][*][*][*][list]
  • [*][*][*][*][*][list]
  • [*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][list]
  • [*][*][*][*][*][*][*][*][*][*][*]
  • [*][*][*][*][*][*][*][*][*][*]
  • [*][*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][*][/list]
  • [*][*][*][*][*][*][/list]
  • [*][*][*][*][*][/list]
  • [*][*][*][*][/list]
  • [*][*][*][/list]
  • [*][*][/list]
  • [*][/list]
  • [/list]
  • [/list]

    相关推荐

      T-SQL递归函数打印杨辉三角

      总结来说,使用T-SQL递归函数实现杨辉三角的关键在于理解递归原理、掌握`WITH RECURSIVE`语句的用法,并能够灵活运用CASE语句来计算每一行的数值。通过这种方式,我们不仅能够学习到T-SQL的高级特性,还能深入理解...

      sql with as用法详解

      一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ...

      浅谈T-SQL语言之递归查询.pdf

      例如,使用WITH关键字后跟CTE的名称,然后是括号内定义的列名,随后是AS关键字,最后是CTE查询的定义。如果CTE定义中的列名是唯一的,可以省略列名的声明。在CTE中,可以多次引用同一CTE,这为构建复杂的查询提供了...

      常用T-SQL语句快速参考

      在T-SQL中,`<table_hint_limited>`和`<table_hint>`允许用户指定如何处理表锁、隔离级别等,而`<query_hint>`则用于优化查询执行计划,如使用特定的索引、排序方法等,以提高查询性能。 以上是T-SQL中几个最常用的...

      T-SQL应该注意的几点.doc

      在T-SQL中,使用模式前缀(如`dbo.Table`)来引用表可以减少解析成本并避免名称冲突。 **示例**: 假设数据库中有两个模式`dbo`和`hr`,每个模式下都有一个名为`Employees`的表。在查询时不指定模式前缀会导致SQL ...

      T-SQL语句集合

      根据提供的文件信息,我们可以整理出一系列关于T-SQL的重要知识点,包括数据库的创建与删除、表的操作、视图管理以及查询技巧等。 ### 数据库操作 #### 创建数据库 ```sql IF EXISTS (SELECT * FROM sys.databases...

      SQL Server2008创建视图-SQL语句方式.pptx

      本资源主要介绍了在 SQL Server 2008 中使用 SQL 语句创建视图的方法和语法结构。视图是从一个或多个表中导出的虚拟表,通过视图可以简化复杂的查询操作,提高数据访问效率和安全性。 创建视图语法 ------------- ...

      lambda-LINQ-SQL对照表

      SQL中可以使用`AS`关键字重命名列。Lambda LINQ中,你可以在匿名类型中使用不同的名称: ```csharp // SQL: SELECT e.LoginID AS ID, e.JobTitle AS Title FROM HumanResources.Employee var ...

      SQL Server 2012 Transact-SQL DML Reference

      ### SQL Server 2012 Transact-SQL DML 参考手册知识点解析 #### 数据操作语言(Data Manipulation Language, DML)简介 数据操作语言(DML)是一种用于检索和处理 SQL Server 2012 中数据的词汇。通过使用这些语句...

      基于Flink+SQL实现数据同步.doc

      本文将详细介绍如何使用 Apache Flink 和 SQL 来实现从 Hive 到 MongoDB 的数据同步过程。 #### 关键技术点 1. **Apache Flink**:是一种高性能、分布式计算框架,支持事件驱动和批处理两种模式。 2. **Apache ...

      oracle-tree-sql.rar_oracle

      本资料"oracle-tree-sql.rar_oracle"主要探讨的就是如何在Oracle中使用SQL查询树形结构数据。 一、Oracle树结构查询基础 1.1 连接查询(Connect By) Oracle的Connect By子句是处理层次数据的核心工具。它允许...

      sql函数大全及详解

      * WITH:附加选项,如果需要对函数体进行加密,可以使用 WITH ENCRYPTION;如果需要将创建的函数与引用的数据库绑定,可以使用 WITH SCHEMABINDING * AS:后面为创建的函数体 自定义函数的类型 用户自定义函数可以...

      sqlserver 存储过程With Encryption加密的解密

      ### SQL Server 存储过程 With Encryption 加密的解密方法 #### 背景与目的 在SQL Server中,为了保护存储过程中的敏感代码或逻辑,可以使用`WITH ENCRYPTION`选项对存储过程进行加密处理。这可以有效防止未经授权...

      SqlServer调用C#DLL的方法

      - 在项目中添加一个类,并使用`SqlFunction`特性标记需要被SqlServer调用的方法。 - 示例: ```csharp using System; using Microsoft.SqlServer.Server; public static class Encrypt { [SqlFunction] ...

      Oracle高级SQL培训与讲解

      ### Oracle高级SQL培训与讲解——WITH子句详解 #### 学习目标 - 掌握WITH子句的基本用法及特点。 - 了解WITH子句如何优化查询性能。...熟练掌握WITH子句的使用方法,对于提高数据库查询技能至关重要。

      SQL Server行转列使用

      T-SQL(Transact-SQL)是微软SQL Server所使用的扩展SQL语言,它提供了丰富的数据处理功能,包括行转列。在SQL Server中,有两种主要的方法可以实现这一转换: 1. 使用CASE语句: CASE语句是SQL中一个非常强大的...

      SQL:MS-SQL 的 CLR 函数

      现在,可以在SQL查询中像使用任何其他T-SQL函数一样使用`dbo.AddNumbers`。 四、性能与安全考虑 1. 性能:CLR函数通常比T-SQL函数更快,但并非总是如此。应根据具体场景进行测试和优化。 2. 安全性:使用`...

      sql server技能题库

      - 错误的DECLARE语句:`SELECT @a`后面不能使用`GO`,因为`GO`不是T-SQL的一部分,而是SQL Server Management Studio的批处理分隔符。正确的语句应为: ```sql DECLARE @a integer SET @a = 1 SELECT @a SET @...

    Global site tag (gtag.js) - Google Analytics