快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐场网址所有平台_龟发之家论坛



数据排序

ORDER BY子句按指定的顺序对数据排序(ordering data)。它要求一个列名字列表或非负整数列表来指定列的位置。分手用ASC代表升序,DESC代表降序,默觉得ASC。

限定返回行的数目

不应用WHERE子句而限定结果中的行数是可能的。“TOP”子句能按指定命目或百分值来限定行数。

数据分组和谋略聚合函数

聚合(aggregate)函数谋略表中数据的总和。SQL Server供给以下的聚合函数:

AVG 这个函数谋略匀称值。语法如下:

AVG ([ALL | DISTINCT] expression)

关键字DISTINCT只用来谋略不合值的匀称值,假如有许多重复值,这些值只谋略一次,默觉得ALL。

Expression可所以涉及一列或多列的算术表达式。

MIN 这个函数查找所供给表达式中的最小值。语法如下:

MIN (expression)

MAX 此函数的功能是在供给的表达式中查找最大年夜值。语法如下:

MAX (expression)

留意: 假如地字符串类型应用MIN和MAX,则输出依附于为SQL Server定义的顺序。MIN和MAX不能在位上应用。

SUM SUM谋略所稀有据值的和。语法如下:

SUM ([ALL | DISTINCT] expression)

留意:SUM和AVG只能用于数值数据类型。

COUNT 谋略表达式值的数目。语法如下:

COUNT ([ALL | DISTINCT] expression)

COUNT有另一种用法,它可以返回当选择的行数。

如:SELECT 葡京娱乐场网址所有平台NumRows = COUNT (*) FROM titles

聚合函数轻忽所有空值,但COUNT(*)除外。只管所有聚合函数的谋略基于无空值的环境,然而COUNT(*)谋略所有的行(包括有空值的行)。

1.GROUP BY子句

GROUP BY子句在被定义的数据的根基上建立对照小的组,并且对每一个组进行聚合函数谋略。换句话说,它孕育发生每一组的总体信息。GROUP BY可以把多于一列当成组合列(Grouping Columns)。它总结组合列中不重复值的信息。

应用了GROUP BY子句的选择列表中只能包孕以下项:

常量值。

组合列。

表达式。每个表达式为每组返回一个值(如聚合函数)。假如一列除了在组合列中外,还在选择列表中,则它有多个值给组合列的每一个不重复值,这种布局类型是不容许的。

2.GROUP BY和HAVING

HAVING子句用来向应用GROUP BY子句的查询中增添数据过滤准则。HAVING的用法和SELECT中的WHERE子句一样。在一个包孕GROUP BY子句的查询中应用WHERE子句是可以的。HAVING和WHERE有相同的语法。HAVING和WHERE的不合这处是:

在WHERE子句中,在分组进行曩昔,去除不满意前提的行,在HAVING子句中,在分组之后前提被利用。

HAVING可在前提中包孕聚合函数,但WHERE不能。

留意:GROUP BY和HAVING子句不能应用文本或图像数据类型。

3.COMPUTE BY子句

COMPUTE BY子句可以获得具体或总的记录。它把数据分成较小的组,然后为每组建立具体记录结果数据集(象SELECT),它也可为每组孕育发生总的记录(象GROUP BY)。

在COMPUT BY中,定义BY子句不是需要的。假如没有定义BY子句,则觉得全部表为一个组,并且只有两个结果数据集孕育发生,一个拥有所有具体记录,另一个只有一行,它拥有总记录。

留意:当在COMPUTE中应用BY时,则要求在所有组合列中包孕ORDER BY。

Cube和Rollup操作

CUBE和ROLLUP操作可比简单的GROUP BY孕育发生更多的聚合值。在孕育发生交叉标签申报(cross tab reports)时,这些操作异常有用。假如查询应用n个组合列,则有2n个谋略聚合的组合。

从多个表中造访数据

我们已评论争论了若何造访单个表中的数据。从多个表中造访数据也是可能的。从多个表中造访数据称为连接表(joining a table)。

1、CROSS JOIN(笛卡尔积)

CROSS JOIN是简单地、不加任何约束前提地把表组合。CROSS JOIN后结果的行数葡京娱乐场网址所有平台是连接前两个表行数的乘积。假如对两个分手有好几千行的表进行连接,则结果是弗成想象的。

2、INNER JOIN

INNER JOIN是组合两个表最常用的措施。INNER JOIN是基于一个判别式进行的,这个判别式称为连接前提。连接前提和WHERE子句一路定义。连接前提由来自两个表中的列组成,并应用一个对照前提来对列的值进行对照。经由过程对照的值包孕在结果数据集中,以下是Inner JOIN的语法:

语法1:(ANSI 92)

Select

FROMINNER JOIN

ON . = .

语法2:

Select

FROM , WHERE . = .

在FROM 子句中可为表定义又名,并在任何地方都可用又名代替真名。

留意:假如作为连接前提的列中有空值,则空值不能和任何值匹配,是以结果中不包孕有空值的行。

3、Left Outer JOIN

在Inner JOIN中,只有在两个表中匹配的行才能在结果数据集中。但在Left Outer JOIN中,所有左边表中的行都呈现在结果数据集中,假如左边葡京娱乐场网址所有平台表中的某一行在右边表中没有匹配的行,则以空值取代右边表中的值和它连接。

语法如下:(ANSI 92)

Select

FROMLEFT OUTER JOIN

ON . = .

4、Right Outer JOIN

Right Out JOIN和Left Outer JOIN相似,不合的是把右边的表作为外部表(所有右边表中的行包孕在结果数据集中)。

语法如下:

Select

FROMRIGHT OUTER JOIN

ON . = .

5、Full Outer JOIN

在Full Outer JOIN中,所有两个表中的行都包孕在结果数据集中。

语法如下:

Select

FROMFULL OUTER JOIN

ON . = .

Case语句

当对不合前提孕育发生不合的结果值时,可应用Case语句。

Case语句谋略所有定义的前提,并按前提是否为真而返回结果。

语法如下:

CASE []

WHENTHEN

[ELSE ]

END

Input_expression是任何有效的SQL Server表达式或布尔表达式。

When_expression是任何有效的SQL Server表达式或布尔表达式。这个表达式和Input_expression对照,假如Input_expression没有定义,则When_expression应该是一个布尔表达式。

Result_expression是任何有效的SQL Server表达式。假如When_expression和Input_expression的对照返回TRUE(假如定义了Input_expression)或When_expression的值为TRUE,则谋略表达式,并返回其结果。否则谋略Else_expression中的表达式,并返回其结果。

例如:

SELECT au_fname,au_lname,

State=CASE state

WHEN ‘CA’ THEN ‘California’

WHEN ‘KS’ THEN ‘Kansas’

END

FROM authors

UNION

UNION语句把两个或多个查询的结果组合成一个结果集。

语法如下:

SELECT

FROM

WHERE

UNION [ALL]

SELECT

FROM

WHERE

ALL关键字指定重复的数据也将包孕在最遣散果数据集中。假如必要,一个查询葡京娱乐场网址所有平台中可以有许多UNION语句。所有Select_list应该有相同数目的列,且是相同或兼容的数据类型。

Go敕令Go敕令用来标志一个查询批处置惩罚(query batch)的停止。查询批处置惩罚是葡京娱乐场网址所有平台TSQL语句的聚拢,这些语句聚拢在一路履行。Go与Osql或SQL Server Query Analyzer一路应用。

您可能还会对下面的文章感兴趣: