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统计的记录。
在ADO使用SELECT语法一
时间: 2024-10-10 00:11:52
在ADO使用SELECT语法一的相关文章
在ADO使用SELECT语法六
子查询 在一个SELECT.SELECT...INTO.INSERT...INTO.DELETE.或UPDATE 表达式中,可以包括SELECT表达式,这个SELECT表达式叫做子查询(sub query).您可以使用三种语法建立子查询:表达式 [ANY | ALL | SOME] (子查询)表达式 [NOT] IN (子查询)[NOT] EXISTS (子查询) 子查询的一个SELECT表达式,与一般SELECT表达式的语法相同,必须包括在括号之中. 您可以使用子查询来替代SELECT表达式的
ADO使用SELECT语法二
接上一篇文章:WHERE可以使用下面的BETWEEN.LIKE.IN运算子.Between...AndBetween...And判断表达式的值是否落在指定的范围之中.语法为:expr Between value1 And value2 表示如果expr的值介于value1和value2之间,则Between...And运算子会返回True:否则它会返回False. 您也可以加上逻辑运算 Not expr Between value1 And value2,来判断相反的条件,即expr落在valu
在ADO使用SELECT语法三
接上一篇文章:ORDER BYORDER BY子句,可以设定排序的字段.在一个SQL表达式之中,ORDER BY子句通常放置于最后. 若要以递减顺序来进行排序(Z~A,9 ~0),须于您要递减排序的每一字段的尾部加DESC字.譬如:SELECT 姓名FROM 员工ORDER BY 工资 DESC, 年龄 表示[工资] 字段以递减顺序来进行排序,[年龄] 字段以递增顺序来进行排序. ORDER BY子句中排序的字段,不可以包含MEMO字段类型或OLE对象类型,否则会发生错误. 在ORDER BY子
在ADO使用SELECT语法五
JoinJOIN连接组合两个表中的字段记录,包括三种:INNER JOIN运算式:连接组合两个表中的字段记录.LEFT JOIN运算式:连接组合两个表中的字段记录,并将包含了LEFT JOIN左边表中的全部记录.RIGHT JOIN运算式:连接组合两个表中的字段记录,并将包含了RIGHT JOIN右边表中的全部记录.INNER JOIN设定两个表相关连的运算式,以连接组合两个表中的字段记录.INNER JOIN语法如下:FROM 表1 INNER JOIN 表2 ON 表1.字段1 比较运算子
在ADO使用SELECT语法四
HAVING HAVING使用于SELECT 表达式中,筛选已经GROUP BY统计的记录.在GROUP BY统计记录后,HAVING将筛选与HAVING子句中条件相吻合的记录.语法如下:SELECT fieldlistFROM tableWHERE selectcriteriaGROUP BY groupfieldlist[HAVING groupcriteria].groupcriteria表示决定应筛选的统计记录. HAVING与WHERE相类似,是用来决定选取哪些记录.当使用GROUP
增补透视一文:将ADO.NET或Webservice返回的DataSet转换成ADODB.Recordset
ado|web|转换 记得在<透视和调整你的企业和商务系统>一文中,我们讨论了有关组件.SOAP.WebService的一些问题,特别对于这样的一些问题: 如何生成一个构造一个简单的三层结构(Window DNA) 如何将现有的组件暴露出来,成为一个WebService 如何使用MS SOAP Toolkit来生成Client消费WebService 如何在dotNET中调用SOAP Toolkit生成的WebService 如何处理和传输ADODB.Recordset类型的数据,实现自己的C
sql 外连left on right on
一.联接( join) 通过联接,可以根据各个表之间的逻辑关系从两个或多个表中检索数据.联接表示应如何使用一个表中的数据来选择另一个表中的行. 联接条件通过以下方法定义两个表在查询中的关联方式: 指定每个表中要用于联接的列.典型的联接条件在一个表中指定外键,在另一个表中指定与其关联的键.指定比较各列的值时要使用的逻辑运算符(=.<> 等). 二.联接类型 当联接表时,创建的联接类型影响出现在结果集内的行.联接类型: 三.内联接 内连接也叫自然连接,它是组合两个表的常用方法.自然连接
性能-关于Oracle闪回的问题
问题描述 关于Oracle闪回的问题 请问Oracle闪回的数据是否可以按照时间设置多少小时内可闪回? 还是Oracle闪回的数据只能设置数据量的大小? 另:Oracle闪回空间的设置对数据库性能有哪些方面的影响? 解决方案 Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复.闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行.事务.表和数据库范围.使用闪回特性,您可以查询以前的数据版本,还可以执行更改分析和自助式修复,以便在保持数据库联机的同时从逻
MySQL存储过程和函数的操作(十二)_Mysql
数据库对象表时存储和操作数据的逻辑结构,而数据库对象存储过程和函数,则是用来实现将一组关于表操作的sql语句当作一个整体来执行.在数据库系统中,当调用存储过程和函数时,则会执行这些对象中所设置的sql语句组,从而实现相应功能. 1. 为什么使用存储过程和函数的操作 有时针对表的一个完整操作往往不是单条sql语句就可以实现的,而是需要一组sql语句来实现.在具体应用当中,一个完整的操作会包含多条sql语句,在执行过程中需要根据前面sql语句的执行结果有选择地执行后面sql语句. 存