您当前的位置:中客资源站网络学院数据库类MsSQL → 文章内容 退出登录 用户管理
本类热门文章
相关下载
全面接触SQL语法(二)
作者:中客资源  来源:中客资源  发布时间:2007-2-7 3:15:02

减小字体 增大字体

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);
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 职员表格(姓名部门); 
表格的字段更新 
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 职员

[1] [2]  下一页

[] [返回上一页] [打 印]
文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码