码迷,mamicode.com
首页 > 其他好文 > 详细

派生表

时间:2014-05-13 11:12:15      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:c   a      sql   不同的   问题   

派生表(也称为表子查询)是在外部查询的FROM子句中定义的。派生表的存在范围为定义它的外部查询,只要外部查询一结束,派生表也就不存在了。

定义派生表的查询语句要定在一对圆括号内,后面跟着AS子句和派生表的名称。

例:

  SELECT *

    FROM (SELECT custid FROM Customers WHERE country=N‘USA‘) AS USACusts

要有效地定义任何类型的表表达式,查询语句必须满足三个要求:

1.不保证有一定的顺序。表表达式代表的是一个表,而关系表中的行是没有固定顺序的。(也就是说,ANSI SQL不允许在用于定义表表达式的查询语句中有ORDER BY 子句。T-SQL大体上遵守了这一限制,只有一个例外情况——当在语句中指定了TOP。在带有TOP选项的查询语句中,ORDER BY 子句的逻辑目的只有一个:为TOP 选 项定义要筛选出哪些行。)

2.所有的列必须有名称。表中的所有列必须有列名,在用于定义表表达式的查询语句中,必须为SELECT列表中的表达式起别名。

3.所有的列名必须是唯一的。表中所有的列名必须是唯一的。如果表表达式中有多个列具有相同的名称,则该表表达式是无效的。当定义表表达式的查询联接了两个表,而这两个表存在名称相同的列时,就会发生这种情况。如果确实需要在表表达式中包括这两个同名列,它们就必须具有不同的列名。为了解决这个问题,可以为这两个列起不同的列别名。

派生表,布布扣,bubuko.com

派生表

标签:c   a      sql   不同的   问题   

原文地址:http://www.cnblogs.com/zhangdx/p/3724570.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!