1.SELECT语句基本语法
SELECT [ALL|DISTINCT]
[TOP 表达式 [PERCENT][WITH TIES]]
<列名表>
[INTO 新表名]
[FROM {<表名列表>}[,...n]]
[WHERE <条件>]
[GROUP BY [ALL] 分组列表[,...n]]
[WITH {CUBE|ROLLUP}]
[HAVING<条件>]
[ORDER BY 排序列表[ASC|DESC]]
[COMPUTE {{AVG|COUNT|MAX|MIN|SUM}(表达式)}[,...n]]
[BY 表达式[,...n]]
2.SELECT语句中的语法说明
- SELECT:是查询数据的关键字
- ALL|DISTINCT:ALL指定在结果集中可以显示重复行。ALL是默认设置;关键字 DISTINCT指定在结果集中只显示唯一行,也就是不包含重复的行。
- TOP|PERCENT:指定只从查询结果集中输出前n行。n是介于0和4294967295之间的整数。如果还指定了PERCENT,则只从结果集中输出前百分之n行,n必须是介于0和100之间的整数
- WITH TIES:指定从基本结果集中返回附加的行,这些行包含与出现在TOP n(PERCENT)行最后的ORDER BY列中的值相同的值,如果指定了ORDER BY子句,则只能指定了TOP...WITH TIES。
- 列名表:为结果集选择的列。列名表是以逗号分割的一系列表达式。每个列表总表达时通常是对获取数据的源表或视图的列的引用,也可能是其它的表达式,例如常量或T-SQL函数,如果列名表使用*,表明指定返回源表中的所有列。
- INTO新表名:创建新表并将结果从查询插入新表中。
- FROM表明列表:包含从中检索到结果集数据的标的列表。这些源表包括:SQL Server的本地服务器中的基表,本地SQL Server中的视图,链接表
- WHERE条件:WHERE子句是一个筛选,它定义了源表中行要满足SELECT语句的要求所必须达到的条件。
- GROUP BY:GROUP BY子句根据分组列表中的值将结果集分成组。
- HAVING条件:是进行结果集的附加筛选。
- ORDER BY排序列表[ASC|DESC]:ORDER BY子句定义结果集中行排列的顺序。可以按一列或多列对查询结果进行排序,排序可以是升序(ASC),也可以是降序(DESC)
- COMPUTE BY:能够用同一语句即查看明细行,又查看汇总行。