全面接触SQL语法四

来源:互联网 发布:yum y install lrzsz 编辑:程序博客网 时间:2024/04/27 18:37
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 职员数据表格限制 UNIQUE(姓名,部门名称,生日)); 
以上是SQL中,与数据库表格建立相关的命令,你可以利用这些命令,通过SQL的语句,将数据库表格完整的建立出来,接下来的章节,将针对数据库建立之后的维护与增删所要使用的SQL语句作一介绍。 

 
原创粉丝点击