上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
SQL语言入门教程( 5 )
作者:未知 申领版权
2010年12月12日 共有 1313 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    

(10)合计函数

所有的合计函数如下表所示:
    

MIN
    
返回一个给定列中最小的数值
    
MAX
    
返回一个给定列中最大的数值
    
SUM
    
返回一个给定列中所有数值的总和
    
AVG
    
返回一个给定列中所有数值的平均值
    
COUNT
    
返回一个给定列中所有数值的个数
    
COUNT(*)
    
返回一个表中的行数
    

合计函数用于从SELECT语句中计算一个”返回列的数据”。它们是总结了所选数据列的结果。虽然它们需要"GROUP BY"子句(后面一个教程介绍),但是这些函数也可以在不用使用"GROUP BY"子句的情况被使用,比如 :
    SELECT AVG(salary)
    FROM employee;
    这条语句将返回单一的结果,它包含了从employee表中所有salary列数据的平均值。为了更好的理解,我们再举个例子:
    SELECT AVG(salary)
    FROM employee;
    WHERE title = 'Programmer'; 
    以上这条语句将返回employee表中所有title列为'Programmer'的数据的平均值。
    下面的例子中使用的语句跟其它合计函数有点不用,因为没有一个类被指定给COUNT函数。这条语句实际上将返回employee表的行数,如下:
    SELECT Count(*)
    FROM employees;
    最后给出本节教程的配套练习:
    1)作一个公司的销售表items_ordered,里面有price、product和amount。
    从items_ordered表中选择price最大的数据。这里提示:使用MAX函数。 
    2) 计算items_ordered表中的行数。
    

(11)GROUP BY子句

GROUP BY子句
    首先讲讲GROUP BY 子句语法: 
    SELECT column1, SUM(column2)
    FROM "list-of-tables"
    GROUP BY "column-list"; 
    这个GROUP BY子句将集中所有的行在一起,它包含了指定列的数据以及允许合计函数来计算一个或者多个列。当然最好解释的方法是给出一个例子啦:
    假设我们将从employee表中搜索工资最高的列,可以使用以下的SQL语句:
    SELECT max(salary), dept
    FROM employee 
    GROUP BY dept; 
    这条语句将在每一个单独的部门中选择工资最高的工资。结果他们的salary和dept将被返回。
    

(12)HAVING子句

HAVING子句
    下面先给出HAVING子句的语法:
    SELECT column1, SUM(column2)
    FROM "list-of-tables"
    GROUP BY "column-list"
    HAVING "condition"; 
    这个HAVING子句允许你为每一个组指定条件,换句话说,可以根据你指定的条件来选择行。如果你想使用HAVING子句的话,它应该处再GROUP BY子句之后。
    下面将以一个例子来解释HAVING子句。假设我们的employee表中包含雇员的name、departmen、salary和age。如果你想为每个部门中每个雇员选择平均工资的话,你可以使用下面的SQL语句:
    SELECT dept, avg(salary)
    FROM employee
    GROUP BY dept; 
    当然,如果你还想只计算和显示salary大于20000的平均工资的话,你还可以加上HAVING子句:
    SELECT dept, avg(salary)
    FROM employee
    GROUP BY dept
    HAVING avg(salary) > 20000;
    

(13)ORDER BY子句

ORDER BY子句
    ORDER BY子句的语法为:
    SELECT column1, SUM(column2)
    FROM "list-of-tables"
    ORDER BY "column-list" [ASC | DESC]; 
    [ ] = optional 
    ORDER BY是一个可选的子句,它允许你根据指定要order by的列来以上升或者下降的顺序来显示查询的结果。例如: 
    ASC = Ascending Order – 这个是缺省的
    DESC = Descending Order 
    下面举个例子:
    SELECT employee_id, dept, name, age, salary
    FROM employee_info
    WHERE dept = 'Sales'
    ORDER BY salary; 
    这条SQL语句将从employee_info表中列dept等于'Sales'选择employee_id,、dept、 name、 age和 salary,并且根据他们的salary按升序的顺序来列出检索结果。
    如果你想对多列排序的话,那么在列与列之间要加上逗号,比如 :
    SELECT employee_id, dept, name, age, salary
    FROM employee_info
    WHERE dept = 'Sales'
    ORDER BY salary, age DESC;
    

 

相关新闻

肢体语言塑造你自己
教程 如何开网店
杂谈语言(之六)——文字改革(下):一失足成千古恨的文字改革
杂谈语言(之五)——文字改革(上):半吊子的改革最糟糕!
杂谈语言(之四)——续谈广东话的口头语(2)
杂谈语言(之四)——续谈广东话的口头语(1)
杂谈语言(之三)——那些深受古汉语影响的语言(方言)
杂谈语言(之二)——语言学习的边际成本递减效应
波兰(二)
捷克(二)

您可能对这些感兴趣  

A0、A1、A2、A3图纸折叠方法
dos命令的其它用处
系统外部命令
DOS命令全集:(网络收集3 )
DOS命令全集:(网络收集2 )
DOS命令全集:(网络收集 )
SQL优化34条
MS SQL Server查询优化方法
学习存储过程
事务全攻略

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》