频道栏目
首页 > 资讯 > 数据库 > 正文

三级数据库:全面接触SQL语法(下)

09-02-28        来源:[db:作者]  
收藏   我要投稿

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"

[1] [2] [3] [4] 下一页

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] [4] 下一页

 

SQL与数据库的维护
  表格的建立
  将SQL中的基本语法作了一番介绍以后,但大多是偏向于数据库数据的查询与过滤,但实际上,我们通过SQL命令所可以做的事还有很多,接下来要介绍的便是如何利用SQL的语法命令来建立一个数据库中的表格。
   CREATE TABLE语句
  我们可以利用这个命令,来建立一个全新的表格,但前提则是:数据库必须已经存在。
CREATE TABLE table(field1 type[(size)][index1][,field2 type[(size)][index2][,...]][,nultifieldindex[,...]])
table
欲建立的新的表格名称。
field1,field2
在新表格中的新的字段名称,到少要一个字段以上。
type
字段的数据类型。
size
字段的大小。
index1,index2
利用CONSTRAINT条件子句定义一个单一字段的索引名称。
multifieldindex
利用CONSTRAINT条件子句定义一个多重字段的索引名称。

  例如:
  建立一个拥有职员姓名与部门字段的表格。
CREATE TABLE 职员表格 (姓名TEST,部门TEST,职员编号 INTEGER CONSTRAINT职员字段索引PRIMARY KEY)
在这一个范例中,我们建立了一个表格名称为“职员表格”的表格,并且定义了该表格的主键值,以限制数据不能重复输入。

  表格索引的建立
   CREATE INDEX语句
  这个命令主要是对一个已存在的表格建立索引,其用法如下:
CREATE[UNIQUE]INDEX index ON table(field[ASC|DESC][,field[ASC|DESC],...])
[WITH {PRIMARY|DISALLOWNULL|IGNORENULL}]
index

  欲被建立的索引名称。
  table
  欲建立索引的表格名称。
  field
  欲被建立的索引的字段名称。并可通过DESC保留字,来决定索引的顺序。
  例如:
在职员表格中建立一个索引。
CREATE INDEX 新索引名称
ON 职员表格(姓名部门);

上一页  [1] [2] [3] [4] 下一页

表格的字段更新
CONSTRAINT条件子句
CONSTRAINT 的功能是类似索引(INDEX)的,虽然CONSTRAINT 也可以建立表格之间的关联性。
单一字段索引:
CONSTRAINT name{PRIMARY KEY|UNIQUE|REFERENCES foreigntable[(foreignfield1,foreignfield2)]}
多字段索引:
CONSTRAINT name
{PRIMARY KEY(primary1[,primary2[,...]])
|UNIQUE(unique1[,unique2[,...]])
|FOREIGN KEY (ref1[,ref2[,...]])
|REFERENCES foreigntable[(foreignfield1[,foreignfield2[,...]])]}
name
要被建立的CONSTRAINT名称。
primary1,primary2
被用来设计成主键值的字段名称(可一个以上)。
unique1,unique2
被用来设计成唯一键值的字段名称(可一个以上)。
foreign key
字段名称,或是参考到别的表格中字段的字段名称。
foreigntable
如前所述,被参考到的表格。
foreignfield1,foreignfield2
在参考到的表格当中,被ref1,ref2字段所指定的字段。如果被参考的字段是参考表格中的主键值,你也可以省略这个条件子句。
例如:
当我们要建立一个新的职员数据表格,表格包含姓名、部门名称与生日三个字段,且由这三个字段建立一个唯一的索引时,可以使用下面这段SQL的语句。
CREATE TABLE 职员数据表格
(姓名 TEST,部门名称 TEST,生日 DATETIME,CONSTRAINT 职员数据表格限制 UNIQUE(姓名,部门名称,生日));
以上是SQL中,与数据库表格建立相关的命令,你可以利用这些命令,通过SQL的语句,将数据库表格完整的建立出来,接下来的章节,将针对数据库建立之后的维护与增删所要使用的SQL语句作一介绍。

上一页  [1] [2] [3] [4] 

相关TAG标签
上一篇:计算机等级考试三级偏软类上机备考攻略
下一篇:三级数据库考点分析:数据结构与算法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站