ホームページ  >  記事  >  データベース  >  Sql Server 学习之SELECT语句总结(一)

Sql Server 学习之SELECT语句总结(一)

WBOY
WBOYオリジナル
2016-06-07 17:44:571323ブラウズ

Sql Server 学习之SELECT语句总结(一) 查询处理的逻辑顺序 (返回结果列表( 01 ) FROM 表 表 (((((] SELECT语句的基本组件 Setp1:[FROM] from子句内可指定表的名称。在此步骤中,SQL Server会列出select语句使用的表,若指定join表则会一并列出,通 过交错

Sql Server 学习之SELECT语句总结(一)

查询处理的逻辑顺序

(返回结果列表(01) FROM表 (((((]

SELECT语句的基本组件

 Setp1:[FROM]

    from子句内可指定表的名称。在此步骤中,SQL Server会列出select语句使用的表,若指定join表则会一并列出,通             过交错排列的方式,将可能的组合放入VT1(第一个虚拟表内)。

  Setp2:[ON]

    比较VT1内的数据,当条件成立时将正确的的数据插入VT2。

 Setp3:[Outer(join)]

    如果定义了outer join 而非 cross join 或 inner join,即保存的表VT2内没有对应的记录依然会被当做外部记录

           而形成VT3。如果from子句中表的个数超过两个,则setp1~3会在join的执行结果与from子句所标记的下一个表

           间重复执行,直到所有的表处理完毕。

 Setp4:[WHERE 过滤条件]

    过滤VT3中的数据,将符合条件的列形成VT4。

 Setp5: [Group by]

    group by 子句可用于指定VT4的分组方式,执行的结果形成VT5。

 Setp6:[CUBE|ROLLUP]

    cube|rollup子句会对setp5中已经group by的数据在做进一步的group by 操作。如果将setp5比作数据的小计

    值,服务器空间,那么setp6就是计算数据的总计值,而产生的数据会被插入到VT6。

 Setp7: [HAVING]

    判断VT6所完成的分组表中的字段是否符合having设置的条件。当符合该条件时,会将其插入到VT7。

 Setp8: [SELECT]

    通过select生成返回结果,仅选符合条件要求的字段列表生成VT8。

 Setp9:[DISTINCT]

    移除VT8的重复数据记录,香港服务器,将结果插入VT9。

 Setp10:[Order by order_list [ASC|DESC] ]

    指定VT9的排序方式(递增或递减),并将排序后的结果形成VT10。

 Setp11:[TOP]

    使用此关键字时,香港服务器,SQL SERVER会将VT10中符合条件的前n条数据插入到VT11,并返回给用户。

 Setp12: [返回结果列表]

    指定返回项目(如描述结果集的列,表达式,变量或常数),并以逗号分隔列表。

 Setp13:[INTO新表名称]

    可省略的自变量,方便用户以"返回结果列表"里的项目与数据类型结构创建新的表,并可使用"新表名称"所指定的

    表名称。

posted on

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。