其它常用的SQL表达式

发表于:2007-06-30来源:作者:点击数: 标签:
其它常用的 SQL 表达式,函数,和过程 这一节将介绍一些其它的SQL技术。你将学习如何从表中取出数据,其某个字段的值处在一定的范围,你还将学习如何把字段值从一种类型转换成另一种类型,如何操作字符串和日期时间数据。最后,你将学会一个发送邮件的简单方

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

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

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

假设你有一个表用来保存对你的站点进行民意调查的结果。现在你想向所有对你的站点的评价在7到10之间的访问者发送书面的感谢信。要得到这些人的名字,你可以使用如下的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=10

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

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

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

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

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

最后,你可以在使用BETWEEN或IN的同时使用表达式NOT。例如,要取出那些投票值不在7到10之间的人的名字,你可以使用如下的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语句中使用BETWEEN或IN,但是,要使你的查询更接近自然语言,这两个表达式是有帮助的。

原文转自:http://www.ltesting.net