SQLServer数据库实用技术(58)
时间:2007-12-23 来源:不详 作者:迈克DB
其中LOOP | HASH | MERGE 选项指定查询优化器中的连接是循环、散列或合并的。REMOTE 选项指定连接操作由右边的表完成。当左表的数据行少于右表,才能使用REMOTE 选项。当左表和右表都是本地表时,此选项不必使用。
指明特定的表或视图将要被连接。
指定连接的条件。
返回两个表交叉查询的结果。
WHERE 子句指定数据检索的条件,以限制返回的数据行。其语法如下:
WHERE
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]
[ WITH { 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 或BIT 类型的列不能作为分组条件。 - CUBE
除了返回由GROUP BY 子句指定的列外,还返回按组统计的行。返回的结果先按分组的第一个条件列排序显示,再按第二个条件列排序显示以此类推。统计行包括了GROUPBY 子句指定的列的各种组合的数据统计。 - ROLLUP
与CUBE 不同的是,此选项对GROUP BY 子句中的列顺序敏感,它只返回第一个分组条件指定的列的统计行。改变列的顺序会使返回的结果的行数发生变化。
copyright dedecms
使用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
HAVING 子句与WHERE 子句很相似,其区别在于其作用的对象不同。WHERE 子句作用于表和视图,HAVING 子句作用于组。
10.1.7 UNION 操作符
UNION 操作符将两个或两个以上的查询结果合并为一个结果集。它与使用连接查询合并两个表的列是不同的。使用UNION 操作符合并查询结果需要遵循两个基本规则:
文章评论
共有位Admini5网友发表了评论 查看完整内容