数据库sql中的运算符=ALL是什么意思

数据库sql中的运算符=ALL是什么意思,第1张

ALL为一个结果集,=ALL,即等于结果集中所有值。

例表 :

table_a

a

1

2

3

4

-----------------------------------------------

table_b

a

1

select * from table_a where a = all(select a from table_b)

语句等效于

select * from table_a where a = 1

检索结果为:1

--------------------------------------------

table_c

a

1

1

select * from table_a where a = all(select a from table_c)

语句等效于

select * from table_a where a = 1

检索结果为:1

---------------------------------------

table_d

a

1

2

select * from table_a where a = all(select a from table_d)

则返回结果集为空

---------------------------------------------------

以上的例子,即a列的值与 all结果集所以的值对比。

而实际应用中,ALL更常与 ‘>’ ,‘<’运算符组合,来选择一个范围内的数据。

COUNT 返回组中项目的数量。 语法 COUNT ( { [ ALL | DISTINCT ] expression ] | * } ) 参数 ALL对所有的值进行聚合函数运算。ALL 是默认设置。DISTINCT指定 COUNT 返回唯一非空值的数量。expression一个表达式,其类型是除 uniqueidentifier、text、image 或 ntext 之外的任何类型。不允许使用聚合函数和子查询。*指定应该计算所有行以返回表中行的总数。COUNT(*) 不需要任何参数,而且不能与 DISTINCT 一起使用。COUNT(*) 不需要 expression 参数,因为根据定义,该函数不使用有关任何特定列的信息。COUNT(*) 返回指定表中行的数量而不消除副本。它对每行分别进行计数,包括含有空值的行。 以上是SQL Server联机丛书的解释,也就是说,Count聚合函数的All参数是默认的,不用去管,表达式是指你需要查询列数的表达式,例如你要查成绩表中有多少成绩数据,可以使用Select Count(*) from 成绩表 如果你要查成绩表中按成绩分类有多少类成绩数据,则可以使用Select Count(DISTINCT 成绩) from 成绩表 这里加DISTINCT 就是说,只查询不同成绩的数据用于分类,如果表中的数据是:成绩姓名科目100张三 数学90 张三 语文90 李四 数学80 李四 语文那么结果就是1009080 如果要查各成绩分类中各有多少个学生,可以使用:Select 成绩,Count(*) from 成绩表 Group By 成绩则结果为:100190 280 1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10085155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存