WEB开发网
开发学院数据库MSSQL Server 全面接触SQL语法(二) 阅读

全面接触SQL语法(二)

 2007-11-11 07:27:13 来源:WEB开发网   
核心提示:BETWEEN...AND 运算符 决定某一人数值是否介于特定的范围之内,此运算符只可以用在SQL的语句中,全面接触SQL语法(二), expr[Not]BETWEEN value1 AND value2 expr 指定要加以计算的字段与表达式的组合, value1,value2 所指明的数值范围,查询出所

  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);

1 2 3  下一页

Tags:全面 接触 SQL

编辑录入:coldstar [复制链接] [打 印]
赞助商链接