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

数据查询--SELECT语句

学院最新推荐文章
教程推荐
『数据查询--SELECT语句』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-7-3 
t; ::=
<table_source> <join_type> <table_source> ON <search_condition>
| <table_source> CROSS JOIN <table_source>
| <joined_table>
<join_type> ::=
[ INNER | { { LEFT | RIGHT | FULL } [OUTER] } ]
[ <join_hint> ]
JOIN
各参数说明如下:

  • table_source
    指明SELECT 语句要用到的表、视图等数据源。
  • table_name [ [AS] table_alias ]
    指明表名和表的别名。
  • view_name [ [AS] table_alias ]
    指明视图名称和视图的别名。
  • rowset_function [ [AS] table_alias ]
    指明行统计函数和统计列的名称。
  • OPENXML
    提供一个XML 文档的行集合视图。
  • W99vH ( [,...n])
    指定一个或多个表提示。通常SQL Server 的查询优化器会自动选取最优执行计划, 除非是特别有经验的用户,否则最好不用此选项。关于表提示table_hint 的设,定请参见 下一章的“删除数据”部分。
  • derived_table [AS] table_alias
    指定一个子查询,从数据库中返回数据行。
  • column_alias
    指明列的别名,用以替换查询结果中的列名。
  • joined_table
    指定由连接查询生成的查询结果。有关连接与连接查询的介绍参见本章的相关章节。
  • join_type
    指定连接查询操作的类型。
  • INNER
    指定返回两个表中所有匹配的行。如果没有join_type 选项,此选项就为系统默认。
  • LEFT [OUTER]
    返回连接查询左边的表中所有的相应记录,而右表中对应于左表无记录的部分,用NULL 值表示。
  • RIGHT [OUTER]
    返回连接查询右边的表中所有的相应记录,而左表中对应于右表无记录的部分,用NULL 值表示。
  • FULL [OUTER]
    返回连接的两个表中的所有记录。无对应记录的部分用NULL 值表示。
  • join_hint
    指定一个连接提示或运算法则。如果指定了此选项,则INNER LEFT RIGHT 或FULL选项必须明确指定。通常SQL Server 的查询优化器会自动选取最优执行计划,除非是特别有经验的用户,否则最好不用此选项。
    join_hint 的语法如下:
    <join_hint> ::= { LOOP | HASH | MERGE | REMOTE }
    其中LOOP | HASH | MERGE 选项指定查询优化器中的连接是循环、散列或合并的。REMOTE 选项指定连接操作由右边的表完成。当左表的数据行少于右表,才能使用REMOTE 选项。当左表和右表都是本地表时,此选项不必使用。
  • JOIN
    指明特定的表或视图将要被连接。
  • ON <search_condition>
    指定连接的条件。
  • CROSS JOIN
    返回两个表交叉查询的结果。
10.1.4 WHERE 子句
WHERE 子句指定数据检索的条件,以限制返回的数据行。其语法如下:
WHERE <search_condition> | <old_outer_join>
<old_outer_join> ::=
column_name { *= | =* } column_name
各参数说明如下:
search_condition
通过由谓词构成的条件来限制返回的查询结果。
old_outer_join
指定一个外连接。此选项是不标准的,但使用方便。它用“*=” 操作符表示左连接,用“=*” 操作符表示右连接。此选项与在FROM 子句中指定外连接都是可行的方法,但二者只能择其一。

注意:如果在WHERE子句中指定一个值为FALSE的条件,则可以用SELECT...INTO语句来创建一个表名不同,但结构和数据类型均和原表相同的表。

10.1.5 GROUP BY 子句
GROUP BY 子句指定查询结果的分组条件。其语法如下;
GROUP BY [ALL] group_by_expression [,...n]
[ W99vH { CUBE | ROLLUP } ]
各参数说明如下:

  • ALL
    返回所有可能的查询结果组合,即使此组合中没有任何满足WHERE 子句的数据。分组的统计列如果不满足查询条件,则将由NULL 值构成其数据。ALL 选项不能与CUBE或ROLLUP 选项同时使用。
    GROUP BY ALL is not supported in queries that access remote tables.
  • group_by_expression
    指明分组条件。group_by_expression 通常是一个列名,但不能是列的别名。数据类型为TEXT、 NTEXT、 IMAGE 或B99v 类型的列不能作为分组条件。
  • CUBE
    除了返回由GROUP BY 子句指定的列外,还返回按组统计的行。返回的结果先按分组的第一个条件列排序显示,再按第二个条件列排序显示以此类推。统计行包括了GROUPBY 子句指定的列的各种组合的数据统计。
  • ROLLUP
    与CUBE 不同的是,此选项对GROUP BY 子句中的列顺序敏感,它只返回第一个分 组条件指定的列的统计行。改变列的顺序会使返回的结果的行数发生变化。

使用Distinct选项的统计函数,如AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、和SUM(DISTINCT column_name)等,不能在使用CUBE或ROLLUP选项时使用。

10.1.6 HAVING 子句
HAVING 子句指定分组搜索条件。HAVING 子句通常与GROUP BY 子句一起使用。TEXT、 NTEXT 和IMAGE 数据类型不能用于HAVING 子句。其语法如下:
HAVING <search_condition>
HAVING 子句与WHERE 子句很相似,其区别在于其作用的对象不同。WHERE 子句作用于表和视图,HAVING 子句作用于组。

10.1.7 UNION 操作符
UNION 操作符将两个或两个以上的查询结果合并为一个结果集。它与使用连接查询合并两个表的列是不同的。使用UNION 操作符合并查询结果需要遵循两个基本规则:

上一页  [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.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光