使用select对列进行查询时,不仅可以直接以列的原始值作为结果,而且还可以将列值进行计算后所得值作为查询结果,即select子句可以查询表达式的值,表达式可由列名、常量及算术运算符组成。查询结果计算列显示“无列名”,一般要给计算列加列标题。其中:表达式中可以使用的运算符有:加+、减-、乘*、除/、取余%
模板:select,,列标题=*nfromtb_name;
格式:select[all|distinct][topn[percent]]from表名
使用top选项可限制查询结果的返回行数,即返回指定个数的记录数。其中:n是一个正整数,表示返回查询结果集的前n行;若带percent关键字,则表示返回结果集的前n%行。模板:celecttopnfromtb_name;/*查询前n的数据*/模板:celecttopnpercentfromtb_name;/*查询前n%tb_name的数据*/
通过where子句实现,该子句必须紧跟在From子句之后。格式为:select[all|distinct][topn[percent]]from表名where;说明:在查询条件中可使用以下运算符或表达式:运算符运算符标识比较运算符,>=,!=,,!>,!范围运算符between...and,notbetween...and列举运算符in,notin模糊匹配运算符like,notlike空值运算符isnull,isnotnull逻辑运算符and,or,not
模板:select*fromtb_namewhere>=n;
使用in关键字可以指定一个值的集合,集合中列出所有可能的值,当表达式的值与集合中的任一元素个匹配时,即返回true,否则返回false。模板:select*fromtb_namewhere[not]in(值1,值2,...,值n);
可用like子句进行字符串的模糊匹配查询,like子句将返回逻辑值(true或False)。like子句的格式:select*fromtb_namewhere[not]like;其含义是:查找指定字段值与匹配串相匹配的记录。匹配串中通常含有通配符%和_(下划线)。其中:%:代表任意长度(包括0)的字符串
当需要判定一个表达式的值是否为空值时,使用isnull关键字。当不使用not时,若表达式的值为空值,则返回true,否则返回false;当使用not时,结果刚好相反。模板:select*fromtb_namewhereis[not]null;
逻辑运算符and(与:两个条件都要满足)和or(或:满足其中一个条件即可)可用来联接多个查询条件。and的优先级高于or,但若使用括号可以改变优先级。模板:select*fromtb_namewhere='volues'and>n;
orderby子句可用于对查询结果按照一个或多个字段的值(或表达式的值)进行升序(ASC)或降序(DESC)排列,默认为升序。格式:orderby{排序表达式[ASC|DESC]}[,...n];其中:排序表达式既可以是单个的一个字段,也可以是由字段、函数、常量等组成的表达式,或一个正整数。模板:select*fromtb_nameorderby;
在对表进行检索时,经常需要对结果进行计算或统计,T-SQL提供了一些统计函数(也称集函数或聚合函数),用来增强检索功能。统计函数用于计算表中的数据,即利用这些函数对一组数据进行计算,并返回单一的值。常用统计函数表函数名功能AVG求平均值count求记录个数,返回int类型整数max求最大值min求最小值sum求和
功能:求指定的数值型表达式的和或平均值。模板:selectavg()as平均数,sum()as总数fromtb_namewhere='字符串';
功能:求指定表达式的最大值或最小值。模板:selectmax()as最大值,min()as最小值fromtb_name;
该函数有两种格式:count(*)和count([all]|[distinct]字段名),为避免出错,查询记录个数一般使用count(*),而查询某字段有几种取值用count(distinct字段名)。(1).count(*):功能:统计记录总数。模板:selectcount(*)as总数fromtb_name;(2).count([all]|[distinct]字段名)功能:统计指定字段值不为空的记录个数,字段的数据类型可以是text、image、ntext、uniqueidentifier之外的任何类型。模板:selectcount()as总数fromtb_name;
groupby子句用于将查询结果表按某一列或多列值进行分组,列值相等的为一组,每组统计出一个结果。该子句常与统计函数一起使用进行分组统计。格式为:groupby分组字段[,...n][having];