SQL学习(四)

1.  SQL中的集合函数

名     称

参数类型

结果类型

描述

 COUNT

 SUM 

 AVG 

 MAX

 MIN

  任意(可以是*)

  数值型

  数值型

  字符型或数值型

  字符型或数值型

  数值型

  数值型 

  数值型

  同参数的内容一样

  同参数的内容一样

   出现次数

   参数的和

   参数的平均值

   最大值

   最小值

注: 在WHERE子句的比较操作中不能出现集合函数,除非它们是出现在子查询的选择列表中

例: select cid from customers

              where discnt < (select max(discnt) from customers);

2. SQL中的分组

     group by ... having ...通用形式

   例:当某个代理商所订购的某样品产品的总量超过1000时,打印出所有满足条件的产品和代理商的ID及这个总量

          select pid ,aid, sum(qty) as TOTAL from orders

                 group by pid,aid

                 having sum(qty)>1000;

执行过程:

  •          首先对from子句中的所有表做笛卡尔积
  •          接着删除不满足WHERE子句的行
  •          然后根据GROUP BY子句对剩余的进行分组
  •          最后求出选择列表中表达式的值
  •          HAVING子句紧跟在GROUP BY之后但先于对选择列表的表达式的计算

注: HAVING一般情况不会单独出现,一般和GROUP BY一起出现,如果省略了GROUP BY子句,那么HAVING子句将把

       整个结果当做一个组来使用

       

posted @ 2011-03-05 20:39 一杯浓茶 阅读(...) 评论(...) 编辑 收藏