All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
屌丝眼中的网络营销和互联网_百度优化_seo学堂
你必须知道的.NET之class和struct_[Asp.Net教程]
在.net中创建使用全球唯一标识符_[Asp.Net教程]
ADO.NET查询数据库中数据
通过内存配置来优化SQL Server的性能_[SQL Server教程]
网页HTML教程:建立有亲和力的超级连接_[Html教程]
入门实例:PHP制作的网站意见在线反馈表_php资料_编程技术
ASP.NET国际化(多语言)支持组件[提供下载]_[Asp.Net教程]
在Win2003,R2上安装SQL,Server,2005(二)_mssql学习_编程技术
总结经验技巧文章:C#.NET函数和方法集_.net资料_编程技术
Reading number is top 10 pictures
含苞欲放的素颜美少女1
超强高考作文
狗狗与主人神同步1
网络游戏与脑残
西游日记1
HongMenYan premiere XinLiangGong clairvoyant outfit PK YiFeiLiu1
生活中总有些低调的人,不经意间散发出土豪的气质
Black and white also sexy--YanLiu1
一个武林高手的故事
青涩甜美-王祖贤小时候的旧照片曝光
Download software ranking
Adobe Flash Player(IE) 10.0.32.18 浏览器专用的FLASH插件
虚拟机5.5.3版
Eclipse 4.2.2 For Win32
Red cliff
功夫熊猫2(上集)
卡丁车单机版
WebService在.NET中的实战应用教学视频 → 第1集
C#与.NET技术平台实战演练
Boxer's Top ten classic battle3
网络管理员第三版
delv published in(发表于) 2013/12/30 4:36:23 Edit(编辑)
SQL,Server,7.0,入门(三)_mssql学习_编程技术

SQL,Server,7.0,入门(三)_mssql学习_编程技术

SQL Server 7.0 入门(三)_mssql学习_编程技术-你的首页-uuhomepage.com
数据排序
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
FROM INNER JOIN
ON . = .
语法2:
Select
FROM , WHERE . = .
在FROM 子句中可为表定义别名,并在任何地方都可用别名代替真名。
注意:如果作为连接条件的列中有空值,则空值不能和任何值匹配,因此结果中不包含有空值的行。
3、 Left Outer JOIN
在Inner JOIN中,只有在两个表中匹配的行才能在结果数据集中。但在Left Outer JOIN中,所有左边表中的行都出现在结果数据集中,如果左边表中的某一行在右边表中没有匹配的行,则以空值取代右边表中的值和它连接。
语法如下:(ANSI 92)
Select
FROM LEFT OUTER JOIN
ON . = .
4、 Right Outer JOIN
Right Out JOIN和Left Outer JOIN相似,不同的是把右边的表作为外部表(所有右边表中的行包含在结果数据集中)。
语法如下:
Select
FROM RIGHT OUTER JOIN
ON . = .
5、 Full Outer JOIN
在Full Outer JOIN中,所有两个表中的行都包含在结果数据集中。
语法如下:
Select
FROM FULL OUTER JOIN
ON . = .
Case语句
当对不同条件产生不同的结果值时,可使用Case语句。
Case语句计算所有定义的条件,并按条件是否为真而返回结果。
语法如下:
CASE []
WHEN THEN
[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一起使用。




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.