您现在的位置: 网页制作教程网 >> 数据库教程 >> mssql 教程 >> 文章正文

全面接触SQL语法

作者:天极

来源:天极

热度:

2006-9-6 14:16:28

多层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

被用来设计成主键值的字段名称(可一个以上)。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

我来说两句:

1分 2分 3分 4分 5分
姓名: *


* 请各位网友遵纪守法并注意语言文明。
网站简介 | 联系方式 | 意见建议 | 版权说明
Copyright © 2007 All rights reserved
滇ICP备06006992号