0

0

SQL Server 7.0 入门(三)

黄舟

黄舟

发布时间:2016-12-24 17:37:22

|

1669人浏览过

|

来源于php中文网

原创

数据排序
       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一起使用。 

 以上就是SQL Server 7.0 入门(三)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

我的小书坊源码(三层实现)
我的小书坊源码(三层实现)

可以实现用户的在线注册、登陆后可以添加图书、购买图书,可以对图书类别、出版社、价格等进行饼图分析默认帐号/密码:51aspx/51aspx该系统采用三层接口开发,App_Code下为三层结构的代码文件,适合三层入门者学习使用数据绑定控件使用的是GridView,顶部公用文件采用了UserControl用户控件调用DB_51aspx下为Sql数据库文件,附件即可【该源码由51aspx提供】

下载

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

6

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

4

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

74

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

9

2026.02.12

Next.js全栈开发与SSR服务端渲染实战
Next.js全栈开发与SSR服务端渲染实战

本专题系统讲解 Next.js 框架在现代全栈开发中的应用,重点解析 SSR、SSG 与 ISR 渲染模式的原理与差异。内容涵盖路由系统、API Routes、数据获取策略、性能优化以及部署实践。通过完整项目示例,帮助开发者掌握高性能 SEO 友好的 React 全栈开发方案。

3

2026.02.12

Kotlin协程编程与Spring Boot集成实践
Kotlin协程编程与Spring Boot集成实践

本专题围绕 Kotlin 协程机制展开,深入讲解挂起函数、协程作用域、结构化并发与异常处理机制,并结合 Spring Boot 展示协程在后端开发中的实际应用。内容涵盖异步接口设计、数据库调用优化、线程资源管理以及性能调优策略,帮助开发者构建更加简洁高效的 Kotlin 后端服务架构。

43

2026.02.12

2026春节习俗大全
2026春节习俗大全

本专题整合了2026春节习俗大全,阅读专题下面的文章了解更多详细内容。

295

2026.02.11

Yandex网页版官方入口使用指南_国际版与俄罗斯版访问方法解析
Yandex网页版官方入口使用指南_国际版与俄罗斯版访问方法解析

本专题全面整理了Yandex搜索引擎的官方入口信息,涵盖国际版与俄罗斯版官网访问方式、网页版直达入口及免登录使用说明,帮助用户快速、安全地进入Yandex官网,高效使用其搜索与相关服务。

957

2026.02.11

虫虫漫画网页版入口与免费阅读指南_正版漫画全集在线查看方法
虫虫漫画网页版入口与免费阅读指南_正版漫画全集在线查看方法

本专题系统整理了虫虫漫画官网及网页版最新入口,涵盖免登录观看、正版漫画全集在线阅读方式,并汇总稳定可用的访问渠道,帮助用户快速找到虫虫漫画官方页面,轻松在线阅读各类热门漫画内容。

103

2026.02.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.9万人学习

SQL优化与排查(MySQL版)
SQL优化与排查(MySQL版)

共26课时 | 2.4万人学习

MySQL索引优化解决方案
MySQL索引优化解决方案

共23课时 | 2.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号