职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 2052|回复: 7

全面接触SQL语法(三)

[复制链接]
cayean 发表于 2006-11-26 18:09 | 显示全部楼层 |阅读模式
BETWEEN...AND 运算符

决定某一人数值是否介于特定的范围之内,此运算符只可以用在SQL的语句中。

expr[Not]BETWEEN value1 AND value2

expr

指定要加以计算的字段与表达式的组合。

value1,value2

所指明的数值范围。

例如:

若是要从职员表格查询出所有年龄介于25-30岁的员工,可以利用下面的程序来做。

SELECT 姓名,年龄 BETWEEN 25 AND 30

FROM 职员表格;


LIKE 操作数

用来将一字符串与另一特定字符串样式(pattern)比较,并将符合该字符串样式的记录过滤出来。

expression LIKE \"pattern\"

expression

使用在WHERE条件子句,SQL表达式。

pattern

用以比较的字符串样式。

例如:

若是你要查询出所有以“李”为首的姓氏,可以利用下面的式子。

Like \"李*\"

LIKE操作数的多种范例:

1、多个字符:

(1)\"a*a\"

可筛选:\"aa\",\"aBa\",\"aBBBa\",不能筛选:\"aBC\"

(2)\"*ab*\"

可筛选:\"abc\",\"AABB\",\"Xab\",不能筛选:\"aZb\",\"bac\"

2、特殊字符:

\"a“*”a\"

可筛选:\"a*a\",不能筛选:\"aaa\"

3、单一字符:

\"a?a\"

可筛选:\"aaa\",\"a3a\",\"aBa\",不能筛选:\"aBBBa\"

4、单一数字:

\"a#a\"

可筛选:\"a0a\",\"a1a\",\"a2a\",不能筛选:\"aaa\",\"a10a\"

5、字符范围:

\"“a-z”\"

可筛选:\"f\",\"p\",\"j\",不能筛选:\"2\",\"&\"

6、指定字符以外部范围:

\"“!a-z”\"

7、指定非数字:

\"“!0-9”\"

可筛选:\"A\",\"a\",\"&\",\"~\",不能筛选:\"0\",\"1\",\"9\"

8、组合式结构:

\"a“!b-m”#\"

可筛选:\"An9\",\"az0\",\"a99\",不能筛选:\"abc\",\"aj0\"


SQL数字函数

1、AVG:算数平均数

AVG(expr)

expr

字段名称或表达式。

例如:

若要计算职员身高超过165厘米的职员平均身高,可以利用下面的SQL语句来完成。

SELECT Avg(身高)

AS 平均身高

FROM 职员表格 WHERE 身高> 165;

2、COUNT:计算记录条数

COUNT(expr)

expr

字段名称或表达式。

例如:

若是要统计出业务部门的职员人数,并查询出职员的姓名,可以利用下面的程序。

SELECT Count(姓名) AS 职员姓名

FROM 职员表格

WHERE 部门名称=\'业务部\';

3、FIRST与LAST:返回某字段的第一条数据与最后一条数据。

FIRST(expr)

LAST(expr)

expr

字段名称或表达式。

例如:

若是要找出货品数量字段的第一条数据与货品价格字段的最后一条数据时,可以利用下面的查询方式。

SELECT FIRST(货品数量),LAST(货品价格)

FROM 订单表格

4、MAX,与MIN:返回某字段的最大值与最小值。

用法同FIRST与LAST。

5、SUM:返回某特定字段或是运算的总和数值。

SUM(expr)

expr

字段名称或表达式。

例如:

要计算出货品总价,可使用下面的程序。

SELECT

Sum(单位价格*货品数量)

AS 货品总价 FROM 订单表格

多层SQL查询

顾名思义,多层的SQL查询的便在于:“在一个SQL语句中可以包含另一个SQL查询语句,形成内部嵌套的查询类型。”

comparison[ANY|ALL|SOME](sqlstatement)

expression[NOT]IN (sqlstatement)

[NOT]EXISTS(sqlstatement)

comparison

将表达式与内层查询的结果比较的操作。

expression

对内层查询的结果作搜索的表达式。

sqlstatement

为SELECT语句构成的SQL查询,必须用()将该语句括起来。


例如:

我们先从订单表格当中,查询出所有的单位,再将产品表格中的单位与的一一对比,查询出所有高于订单表格的单位价格的记录。

SELECT * FROM 产品表格

WHERE 单位价格> ANY (SELECT 单位价格 FROM 订单表格 WHERE 折扣> =.25);
 楼主| cayean 发表于 2007-1-17 10:14 | 显示全部楼层
::33::
 楼主| cayean 发表于 2007-4-26 10:18 | 显示全部楼层
初学者,一定要看。
俺是一只狼 发表于 2007-7-8 14:50 | 显示全部楼层
哈哈!!!!
那夜难忘 发表于 2007-7-11 17:43 | 显示全部楼层
謝謝,希望以後多些
牧牛 发表于 2007-7-11 18:27 | 显示全部楼层
希望大家帮我把这个帖发给你身边的人,谢谢!
木已 发表于 2007-7-11 18:27 | 显示全部楼层
真幸运
枥中人 发表于 2007-7-13 00:54 | 显示全部楼层
晕 !
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-14 09:12 , Processed in 0.127423 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表