数据库原理吉林大学随笔第12课时

三表查询

在SQL查询中,多表中同时出现的字段,要指定表名。
select sname,course.cno,grade from student ,course,sc
where stuent.sno=sc.sno
and sc.cno=course.cno
and year(bdate)=1976
and semester='秋';

SQL 复杂查询







聚合函数:
1、平均值AVG
AVG函数用于计算精确型或近似型数据类型的平均值,bit类型除外,忽略null值。AVG函数计算时将计算一组数的总和,然后除以为null的个数,得到平均值。
语法结构:

avg( [ all | distinct ] expression )  
all:为默认值,表示对所用的数据都计算平均值。

distinct:每个值的唯一值计算平均值,不管相同的值出现多次,多个行相同的值仅仅出现一次作为计算。

expression:精确或近似值的表达式。表达式内部不允许使用子查询和其他聚合函数。
2、最小值MIN

  MIN函数用于计算最小值,MIN函数可以适用于numeric、char、varchar或datetime、money或smallmoney列,但不能用于bit列。不允许使用聚合函数和子查询,忽略null值。

  语法结构:

min( [ all | distinct ] expression )
    示例:

select MIN(销售) as 销售最少,MAX(销售) as 销售最多 from tb_sell
--利用子查询,查询销售额最少的完整信息
select * from tb_sell where 销售 in (select MIN(销售) from tb_sell)  
3、最大值MAX

   MAX函数用于计算最大值,忽略null值。max函数可以使用于numeric、char、varchar、money、smallmoney、或datetime列,但不能用于bit列。不允许使用聚合函数和子查询。

   语法结构:

MAX ( [ all | distinct ] expression )
  示例:

select max(age) from person -- 查询person表里的年龄的最大值
4、求和值SUM
   SUM函数用于求和,只能用于精确或近似数字类型列(bit类型除外),忽略null值,不允许使用聚合函数和子查询。

  1、语法结构:

SUM ( [ all | distinct ] expression )
    示例:

select sum(age) from person -- 查询person表里的年龄的总和
5、统计项数值count(count_big)

  count函数用于计算满足条件的数据项数,返回int数据类型的值。

  1、语法结构:

count( {[[ all | distinct] expression ] | * } )

这里的表达式是除text、image或ntext以外任何数据类型的表达式。但不允许使用聚合函数和子查询。

  2、常见使用方法

  count() : 返回所有的项数,包括null值和重复项。而除了count()外,其他任何形式的count()函数都会忽略Null行。除了Count(*)函数外,其他任何聚合函数都会忽略NULL值,也就是说,AVG()参数里的值如果为Null则这一行会被忽略如计算平均值,这点要注意。

  count(all表达式):返回非空的项数。

  count(distinct表达式):返回唯一非空的项数

  count_big的语法与count完全一样,只不过返回值为bigint数据类型,这样返回的数值范围就可以大大超过count。

注意:count(字段名),如果字段名为NULL,则count函数不会统计。例如count(name),如果name为空,则不会统计到结果。
————————————————
版权声明:本文为CSDN博主「marvel_java」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/marvel_java/java/article/details/53437244

猜你喜欢

转载自www.cnblogs.com/lanhai2020/p/12963209.html