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:能够用同一语句即查看明细行,又查看汇总行。