当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 全面接触SQL语法(5)

MSSQL
精细讲述SQL Server数据库备份多种方法
让SQL Server也能使用2G以上内存
SQL Server数据库崩溃恢复之法
创建区分大小写的SQL Server 2000实例
SQL Server中易混淆的数据类型
如何优化SQL Server数据库查询
使用Robot连接SQL的例子
如何让你的SQL运行得更快
对Sql Server中的表添加级联更新和级联删除
常用SQL语句书写技巧
SQL Server与Oracle实施成本上的差异
解析SQL Server的数据类型 BLOB
SQL Server数据库和XML标识语言的集成
SQLServer 数据库还原和孤立用户的解决办法
SQL Server 2000/2005 分页SQL
Sql Server锁表
SQLServer2005实现远程数据库备份
SQL精妙语句
SQL Server 2008的逻辑查询处理步骤
如何让你的SQL运行得更快

MSSQL 中的 全面接触SQL语法(5)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 38 ::
收藏到网摘: n/a

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