转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
SQL操作(初级、中级、高级)         

SQL操作(初级、中级、高级)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:28647 更新时间:2007/11/14 11:12:15
这个SELECT语句的返回值代表用户对你站点的平均喜欢程度。函数AVG()只能对数值型字段使用。这个函数在计算平均值时也忽略空值。

计算字段值的和

假设你的站点被用来出售卡片,已经运行了两个月,是该计算赚了多少钱的时候了。假设有一个名为orders的表用来记录所有访问者的定购信息。要计算所有定购量的总和,你可以使用函数SUM():

SELECT SUM(purchase_amount) FROM orders

函数SUM()的返回值代表字段purchase_amount中所有值的平均值。字段purchase_amount的数据类型也许是MONEY型,但你也可以对其它数值型字段使用函数SUM()。

返回最大值或最小值

再一次假设你有一个表用来保存对你的站点进行民意调查的结果。访问者可以选择从110 的值来表示他们对你站点的评价。如果你想知道访问者对你站点的最高评价,你可以使用如下的语句:

SELECT MAX(vote) FROM opinion

你也许希望有人对你的站点给予了很高的评价。通过函数MAX(),你可以知道一个数值型字段的所有值中的最大值。如果有人对你的站点投了数字10,函数MAX()将返回该值。

另一方面,假如你想知道访问者对你站点的的最低评价,你可以使用函数MIN(),如下例所示:

SELECT MIN(vote) FROM opinion

函数MIN()返回一个字段的所有值中的最小值。如果字段是空的,函数MIN()返回空值。

其它常用的SQL表达式,函数,和过程

这一节将介绍一些其它的SQL技术。你将学习如何从表中取出数据,其某个字段的值处在一定的范围,你还将学习如何把字段值从一种类型转换成另一种类型,如何操作字符串和日期时间数据。最后,你将学会一个发送邮件的简单方法。

通过匹配一定范围的值来取出数据

假设你有一个表用来保存对你的站点进行民意调查的结果。现在你想向所有对你的站点的评价在710之间的访问者发送书面的感谢信。要得到这些人的名字,你可以使用如下的SELECT 语句:

SELECT username FROM opinion WHERE vote>6  and  vote<11

这个SELECT 语句会实现你的要求。你使用下面的SELECT 语句也可以得到同样的结果:

SELECT username FROM opinion WHERE vote BETWEEN 7 AND 10

这个SELECT 语句与上一个语句是等价的。使用哪一种语句是编程风格的问题,但你会发现使用表达式BETWEEN 的语句更易读。

现在假设你只想取出对你的站点投了1或者10的访问者的名字。要从表opinion中取出这些名字,你可以使用如下的SELECT 语句:

SELECT username FROM opinion WHERE vote=1 or vote

   这个SELECT语句会返回正确的结果,没有理由不使用它。但是,存在一种等价的方式。使用如下的SELECT可以得到相同的结果:

SELECT username FROM opinion WHERE vote IN (1,10)

注意表达式IN 的使用。这个SELECT 语句只取出vote的值等于括号中的值之一的记录。

你也可以使用IN来匹配字符数据。例如,假设你只想取出Bill GatesPresident Clinton的投票值。你可以使用如下的SELECT 语句:

SELECT vote FROM opinion  WHERE  username IN (Bill Gates,President Clinton)

最后,你可以在使用BETWEENIN的同时使用表达式NOT。例如,要取出那些投票值不在710之间的人的名字,你可以使用如下的SELECT 语句:

SELECT username FROM opinion WHERE vote NOT BETWEEN 7 and 10

要选取那些某个字段的值不在一列值之中的记录,你可以同时使用NOT IN,如下例所示:

SELECT vote FROM opinion

            WHERE username NOT IN (Bill Gates,President Clinton)

你不是必须在SQL语句中使用BETWEENIN,但是,要使你的查询更接近自然语言,这两个表达式是有帮助的。

转换数据

SQL Sever足够强大,可以在需要的时候把大部分数值从一种类型转换为另一种类型。例如,要比较SMALLINT型和INT型数据的大小,你不需要进行显式的类型转换。SQL Sever会为你完成这项工作。但是,当你想在字符型数据和其它类型的数据之间进行转换时,你的确需要自己进行转换操作。例如,假设你想从一个MONEY型字段中取出所有的值,并在结果后面加上字符串“US Dollars。你需要使用函数CONVERT(),如下例所示:

SELECT CONVERT(CHAR(8),price)+US Dollars FROM orders

函数CONVERT()带有两个变量。第一个变量指定了数据类型和长度。第二个变量指定了要进行转换的字段。在这个例子中,字段price被转换成长度为8个字符的CHAR型字段。字段price要被转换成字符型,才可以在它后面连接上字符串

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]  ...  下一页 >> 


[办公软件]在sybase中插入图片、PDF、文本文件  [办公软件]安装Sybase ASE
[办公软件]linux指令大全(完整篇)  [办公软件]Linux新手入门常用命令大全
[办公软件]在RedHat Linux 9里安装gaim0.80  [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法
[办公软件]Linux程序员必读:中文化与GB18030标准  [办公软件]linux指令大全
[办公软件]制作Linux启动盘的四种方法  [办公软件]Linux文件系统的反删除方法
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台