教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · Sql2000基础教程

数据查询--SELECT语句

学院最新推荐文章
教程推荐
『数据查询--SELECT语句』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-7-3 


    数据库是为更方便有效地管理信息而存在的人们,希望数据库可以随时提供所需要的数据信息。因此,对用户来说,数据查询是数据
库最重要的功能。本章将讲述数据查询的实现方法。

在数据库中,数据查询是通过SELECT 语句来完成的。SELECT 语句可以从数据库中 按用户要求检索数据,并将查询结果以表格的形式返回。我们在“Transact-SQL 语言”章 节及前面的章节中已经初步接触到了SELECT 语句的一些用法,在本章中将分类讲述其 具体用法。

本节讲述SELECT 语句完整的语法结构,这是一个非常冗长、枯燥的过程。读者可 以跳过本节,从第二节开始阅读,而将本节作为理解、编写查询语句的语法参考资料。 SELECT 语句完整的语法结构如下:
SELECT statement ::=
<query_expression>
[ ORDER BY { order_by_expression | column_position [ ASC | DESC ] } [,...n] ]
[ COMPUTE { { AVG | COUNT | MAX | MIN | SUM } (expression) } [,...n]
[ BY expression [,...n] ] ]
[ FOR { BROWSE | XML { RAW | AUTO | EXPLIC99v }
[ , XMLDATA ]
[ , ELEMENTS ]
[ , BINARY base64 ] }
[ OPTION (<query_hint> [,...n]) ]
<query expression> ::=
{ <query specification> | (<query expression>) }
[UNION [ALL] <query specification | (<query expression>) [...n] ]
<query specification> ::=
SELECT [ ALL | DISTINCT ]
[ {TOP integer | TOP integer PERCENT} [ W99vH TIES] ]
<select_list>
[ INTO new_table ]
[ FROM {<table_source>} [,...n] ]
[ WHERE <search_condition> ]
[ GROUP BY [ALL] group_by_expression [,...n]
[ W99vH { CUBE | ROLLUP } ] ]
[ HAVING <search_condition> ]
由于SELECT 语句特别复杂,上述结构还不能完全说明其用法,因此我们将它拆分为若干部分来讲述。

10.1.1 SELECT 子句
SELECT 子句指定需要通过查询返回的表的列,其语法如下:
SELECT [ ALL | DISTINCT ]
[ TOP n [PERCENT] [ W99vH TIES] ]
<select_list>
<select_list> ::=
{ *
| { table_name | view_name | table_alias }.*
| { column_name | expression | IDENT99vYCOL | ROWGUIDCOL }
[ [AS] column_alias ]
| column_alias = expression
} [,...n]
各参数说明如下:

  • ALL
    指明查询结果中可以显示值相同的列。ALL 是系统默认的。
  • DISTINCT
    指明查询结果中如果有值相同的列,则只显示其中的一列。对DISTINCT 选项来说, Null 值被认为是相同的值。
  • TOP n [PERCENT]
    指定返回查询结果的前n 行数据。如果PERCENT 关键字指定的话,则返回查询结果 的前百分之n 行数据。
  • W99vH TIES
    此选项只能在使用了ORDER BY 子句后才能使用当指定此项时,除了返回由TOP n (PERCENT) 指定的数据行外,还要返回与TOP n (PERCENT) 返回的最后一行记录中 由ORDER BY 子句指定的列的列值相同的数据行。
  • select_list
    select_list 是所要查询的表的列的集合,多个列之间用逗号分开。
  • * 通配符,返回所有对象的所有列。
  • table_name | view_name | table_alias.*
    限制通配符*的作用范围。凡是带*的项,均返回其中所有的列。
  • column_name
    指定返回的列名
  • expression
    表达式可以为列名、常量、函数或它们的组合。
  • IDENT99vYCOL
    返回IDENT99vY 列。如果FROM 子句中有多个表含有IDENT99vY 列,则在IDENTTYCOL 选项前必须加上表名,如Table1.IDENT99vYCOL。
  • ROWGUIDCOL
    返回表的ROWGUIDCOL 列。同IDENT99vYCOL 选项相同,当要指定多个ROWGUIDCOL 列时,选项前必须加上表名,如Table1. ROWGUIDCOL。
  • column_alias
    在返回的查询结果中用此别名替代列的原名。column_alias 可用于ORDER BY 子句, 但不能用于WHERE GROUP BY 或HAVING 子句如果查询是游标声明命令DECLARE CURSOR 的一部分,则column_alias 还不能用于FOR UPDATE 子句(有关游标的介绍请 参见“游标和视图”章节)。

10.1.2 INTO 子句
INTO 子句用于把查询结果存放到一个新建的表中。SELECT...INTO 句式不能与COMPUTE 子句一起使用。其语法如下:
INTO new_table
参数new_table 指定了新建的表的名称。新表的列由SELECT 子句中指定的列构成,新表中的数据行是由WHERE 子句指定的。但如果SELECT 子句中指定了计算列,在新表中对应的列则不是计算列,而是一个实际存储在表中的列,其中的数据由执行SELECT...INTO 语句时计算得出。如果数据库的“Select into/bulk copy” 选项设置为“True/On”,则可以用INTO 子句创建表和临时表,反之,则只能创建临时表。

10.1.3 FROM 子句
FROM 子句指定需要进行数据查询的表。只要SELECT 子句中有要查询的列,就必须使用FROM 子句。其语法如下:
FROM {<table_source>} [,...n]
<table_source> ::=
table_name [ [AS] table_alias ] [ W99vH ( <table_hint> [,...n]) ]
| view_name [ [AS] table_alias ]
| rowset_function [ [AS] table_alias ]
| OPENXML
| derived_table [AS] table_alias [ (column_alias [,...n] ) ]
| <joined_table>
<joined_table&g

[1] [2] [3] [4] 下一页  

作者:无 来源:无
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - Sql2000基础教程
推荐教程SQL Server 连接基本的知识
推荐教程SQL Server 2000 简略介绍
推荐教程通用SQL数据库查询语句精华运用
推荐教程MySQL初步掌握指南
推荐教程SQL语言初步掌握教学文章:第五
推荐教程SQL语言初步掌握教学文章:第四
推荐教程SQL语言初步掌握教学文章:第三
推荐教程SQL语言初步掌握教学文章:第二
推荐教程SQL语言初步掌握教学文章:第一
推荐教程网络数据库设计初步掌握(六)SQL
推荐教程SQL Server 7.0 初步掌握(二)
推荐教程SQL Server 7.0 初步掌握(一)
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光