摘要: 在集合论中,两个集合(记为集合A和B)的并集是一个包含集合A和B中所有元素的集合。换句话说,如果一个元素属于任何一个输入集合,那么它也属于结果集。在T-SQL中,UNION 集合运算可以将两个输入查询的结果集组合成一个结果集。如果一个行在任何一个输入集合中出现,它也会在UNION运算的结果中出现。T... 阅读全文
posted @ 2014-05-15 23:26 守护之翼 阅读(1968) 评论(0) 推荐(0)
摘要: 内联表值函数是一种可重用的表表达式,能够支持输入参数。除了支持输入参数以外,内联表值函数在其他方面都与视图相似。(可以将内联表值函数看作是一种参数化的视图,尽管没有这种正式的说法)。例: CREATE FUNCTION fn_GetCustOrders (@cid as int) RETURN... 阅读全文
posted @ 2014-05-15 00:28 守护之翼 阅读(2047) 评论(0) 推荐(0)
摘要: 视图和内联表值函数(inline TVF)是两种可重用的表表达式,它们的定义储存在一个数据库对象中。一旦创建,这些对象就是数据库的永久部分;只有用删除语句显式删除,它们才会从数据库中移除。在其他很多方面,视图和内联表值函数的处理方式都类似于派生表和CTE。例如,当查询视图或内联TVF时,SQL Se... 阅读全文
posted @ 2014-05-14 00:24 守护之翼 阅读(128) 评论(0) 推荐(0)
摘要: 公用表表达式(CTE,Common table expression)是和派生表很相似的另一种形式的表表达式,而且具有一些重要优势。CTE 是在 SQL Server 2005 中引入的,是ANSI SQL (1999及以后版本)标准的一部分。例:WITH USACusts AS( SELECT ... 阅读全文
posted @ 2014-05-13 23:44 守护之翼 阅读(173) 评论(0) 推荐(0)
摘要: 派生表(也称为表子查询)是在外部查询的FROM子句中定义的。派生表的存在范围为定义它的外部查询,只要外部查询一结束,派生表也就不存在了。定义派生表的查询语句要定在一对圆括号内,后面跟着AS子句和派生表的名称。例: SELECT * FROM (SELECT custid FROM Custo... 阅读全文
posted @ 2014-05-13 00:07 守护之翼 阅读(471) 评论(0) 推荐(0)
摘要: 相关子查询是指引用了外部查询中出现的表的列的子查询。这就意味着子查询要依赖于外部查询,不能独立地调用它。在逻辑上,子查询会为每个外部行单独计算一次。例: SELECT custid,orderid,orderdate,empid FROM dbo.Orders AS O1 WHERE ... 阅读全文
posted @ 2014-05-12 22:51 守护之翼 阅读(153) 评论(0) 推荐(0)
摘要: 每个子查询都有所谓于的外部查询。独立子查询是独立于其外部查询的子查询。在逻辑上,独立子查询在执行外部查询之前只要先执行一次,接着外部查询再使用子查询的结果继续进行查询。1.独立标量子查询标量子查询是返回单个值的子查询,而不管它是不是独立子查询。标量子查询可以出现在外部查询中期望使用单个值的任何地方(... 阅读全文
posted @ 2014-05-11 23:57 守护之翼 阅读(258) 评论(0) 推荐(0)
摘要: 与内联接和交叉联接不同,外联接是在ANSI SQL-92 中才被引入的,因此它只有一种标准语法——在表名之间指定JOIN关键字,在ON子句中指定联接条件。外联接会应用内联接所应用的两个逻辑处理步骤(笛卡尔积和ON过滤),此外还多加一个外联接特有的第三步:添加外部行。在外联接中,要把一个表标记为“保留... 阅读全文
posted @ 2014-05-08 23:32 守护之翼 阅读(231) 评论(0) 推荐(0)
摘要: 内联接要应用两个逻辑查询处理步骤:它首先像交叉联接一样,对两个输入表进行笛卡尔积运算;然后根据用户指定的谓词对结果行进行过滤。和交叉联接一样,内联接也有两种标准语法:ANSI SQL-92:需在两个表名之间指定 INNER JOIN 关键字。INNER 关键字是可选的,因为内联接是默认的联接方式,所... 阅读全文
posted @ 2014-05-06 23:35 守护之翼 阅读(203) 评论(0) 推荐(0)
摘要: 在逻辑上,交叉联接是一种最简单的联接。交叉联接只实现一个逻辑查询步骤(笛卡尔积)。这一步是对输入的两个表进行操作,把它们联接起来,生成二者的笛卡尔积。也就是将一个输入表的每行与另一个表的所有行进行匹配。如果一个表有m行,而另一个表有n行,将得到m*n行的结果集。SQL Server 支持交叉联接的两... 阅读全文
posted @ 2014-05-04 22:52 守护之翼 阅读(163) 评论(0) 推荐(0)