在ADO使用SELECT语法一

蓝色火焰最厉害

蓝色火焰最厉害

2016-01-29 19:04

在ADO使用SELECT语法一,在ADO使用SELECT语法一
  SELECT表达式

接着,让我们看看SELECT表达式,SELECT用来在表中寻找符合特定条件的记录,语法如下:

SELECT [关键字] { * | 表名称.* | [表名称.]字段名称1 [AS 别名1] [, [表名称.] 字段名称2 [AS 别名2] [, ...]]}
FROM 表运算式 [, ...] [IN 外部表]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

关键字:可以用来限制返回之记录的数量,可以设定为ALL、DISTINCT、DISTINCTROW 、或TOP。如果没有指定述语,缺省值为 ALL。

*:选取全部的字段。

别名:代替在表中原有的字段名称。

表运算式:一个或多个以逗号分隔的表名称。

外部表:如果表不存在目前的表当中,须设定包含表运算式中表的表名称。

执行SELECT 表达式,并不会改变表之中现有的资料。

一个 SELECT 表达式的最基本语法是:

SELECT * FROM 表运算式

您可以使用星号(*)来选取表的全部字段。譬如下例选取 [产品] 表中的全部字段:

SELECT * FROM 产品

字段名称包含空格或标点符号时,须使用括号[ ]将它括在其中。例如:

SELECT [电脑 的产品]

如果在FROM子句中的字段名称中,包含多个的表中时,需在字段名称前加上表名称和点(.)运算子,即 表名称.字段名称。譬如下例选取 [产品] 表的 [价格] 字段和 [订单] 表的 [数量] 字段:

SELECT 产品.价格, 订单.数量

FROM 产品, 订单

WHERE 产品.代号 = 订单.代号

当您使用Recordset 对象时,Recordset并不认得rs(表名称.字段名称) 格式,即rs(“产品.价格”)会发生错误,您必须使用AS来设定字段名称的别名。譬如:

SELECT 产品.价格 AS 价格, 订单.数量AS 数量

FROM 产品, 订单

WHERE 产品.代号 = 订单.代号

如此就可以使用rs(“价格”) 和rs(“数量”),来读取其字段的资料。

与SELECT表达式相关的语法:


关键字:ALL/ DISTINCT/ DISTINCTROW/ TOP。

WHERE:寻找FROM中的表符合特定条件的资料记录。WHERE 可以使用下面的BETWEEN、LIKE、IN运算子:

Between...And:判断表达式的值是否落在指定的范围之中。

Like:寻找相符合的关键字。

IN运算式:限定范围。

NOT IN运算式:表示不属于所指定的范围。

ORDER BY子句:可以设定排序的字段。

GROUP BY子句:将查询的结果做统计。

HAVING子句:使用在SELECT 表达式中,筛选已经GROUP BY统计的记录。

Union:可以合并多组查询的结果。

JOIN:连接组合两个表中的字段记录。

子查询(sub query):表达式中,可以包括SELECT表达式。

Select...Into:将查询的结果,建立一个产生的表。


详细介绍如下:

ALL/DISTINCT/DISTINCTROW/TOP关键字

使用SELECT查询时,可以加上关键字,以选取所查询的记录。如下:


ALL:返回所有的记录。

DISTINCT:指定字段中的记录有重复时只返回一条记录,记录不重复。

DISTINCTROW:指定字段中的记录有重复时都不返回。

TOP:返回前面几个记录或几个百分比的记录。


语法如下:

SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
FROM 表

ALL返回所有的记录。不加关键字时,与加ALL的意义相同,将返回所有的记录。譬如下列两个例子的执行结果相同,都从产品表中返回所有的记录:

SELECT ALL * FROM 产品

与以下的执行结果相同:

SELECT * FROM 产品

DISTINCT不选取指定字段之中的重复资料。使用DISTINCT后,查询的结果,列在SELECT DISTINCT后的每个字段的资料值,若相同则只取一条记录,换句话说,指定字段的资料不会有重复的现象。例如,在产品表之中有一些产品名称相同的产品,加上DISTINCT的SQL表达式只会返回一条记录字段为产品名称资料相同的记录:

SELECT DISTINCT 产品名称 FROM 产品

如果您不加上DISTINCT,上例查询将返回数个包含相同产品名称的记录。

如果SELECT DISTINCT子句后指定数个字段,查询的结果,所有字段的组合值不会有重复的现象。

DISTINCTROW则不返回指定字段所有重复的记录。

TOP n [PERCENT] ,返回前面几条记录或几个百分比的记录。排列的顺序可以使用ORDER BY子句来指定。譬如找到成绩前10名的学生姓名:

SELECT TOP 10 姓名
FROM 学生
ORDER BY 成绩

如果您没有包含ORDER BY子句,查询将由学生表返回任意的10个记录。

TOP不在相同值间作选择,如果第10及第11的成绩是相同的,查询将返回11个记录。

您可使用PERCENT来设定前面几个百分比的记录,譬如譬如找到成绩前10%的学生姓名:

SELECT TOP 10 PERCENT 姓名
FROM 学生
ORDER BY 成绩

让我们看一个在ASP程式中使用这个SQL指令的例子。

可以利
展开更多 50%)
分享

猜你喜欢

在ADO使用SELECT语法一

ASP
在ADO使用SELECT语法一

在ADO使用SELECT语法六

ASP
在ADO使用SELECT语法六

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在ADO使用SELECT语法二

ASP
在ADO使用SELECT语法二

在ADO使用SELECT语法三

ASP
在ADO使用SELECT语法三

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在ADO使用SELECT语法四

ASP
在ADO使用SELECT语法四

在ADO使用SELECT语法五

ASP
在ADO使用SELECT语法五

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Microsoft SQL Server 查询处理器的内部机制与结构(2)

Microsoft SQL Server 查询处理器的内部机制与结构(2)

Linux指令篇档案目录管理--cat

Linux指令篇档案目录管理--cat
下拉加载更多内容 ↓