易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程四 组函数
  
  本课重点:
  1、了解可用的组函数
  2、说明每个组函数的使用方法
  3、使用GROUP BY
  4、通过HAVING来限制返回组
  注意:以下实例中标点均为英文半角
  一、概念:
  组函数是指按每组返回结果的函数。
  组函数可以出现在SELECT和HAVING 字段中。
  GROUP BY把SELECT 的结果集分成几个小组。
  HAVING 来限制返回组,对RESULT SET而言。
  二、组函数:(#号的函数不做重点)
  1、AVG
  2、COUNT
  3、MAX
  4、MIN
  5、STDDEV #
  6、SUM
  7、VARIANCE #
  语法:
  SELECT column, group_function
  from table
  [WHERE condition]
  [GROUP BY group_by_expression]
  [HAVING group_condition]
  [ORDER BY column];
  实例1:一个混合实例,说明所有问题:
  SQL> SELECT AVG(salary), MAX(salary), MIN(salary),
  2 SUM(salary)
  3 from s_emp
  4 WHERE UPPER(title) LIKE ’SALES%’;
  AVG(SALARY) MAX(SALARY) MIN(SALARY) SUM(SALARY)
  ----------- ----------- ----------- -----------
  1476    1525     1400    7380
  说明:很多函数,我们在讲函数的已经向大家介绍过,但在此为何叫分组函数呢,主要是因为它们可以与GROUP
BY来形成对不同组的计算,相当于在很多值中进行挑选。
  * MIN MAX函数可以接任何数据类型。
  如果是MIN(last_name), MAX(last_name),返回的是什么呢?
  千万记住,不是指LAST_NAME的长度,而是指在FIRST字母的前后顺序,第一个相同,然后比较第二个,如:xdopt
 > cssingkdkdk >  adopt > acccc
  实例2:
  SQL> SELECT COUNT(commission_pct)
  2 from s_emp
  3 WHERE dept_id = 31;
  返回所有非空行个数
  三、GROUP BY的应用:
  先看一个简单实例:
  SQL> SELECT credit_rating, COUNT(*) ”# Cust”
  2 from s_customer
  3 GROUP BY credit_rating;
  注意这里别名的应用,复习一下从前的课程,加了引号后,就可以用特殊字符,但也仅有三个:#$_,什么对象的
名字都如此。当然空格也是可以的。
  复杂实例:
  SQL> SELECT title, SUM(salary) PAYROLL
  2 from s_emp
  3 WHERE title NOT LIKE ’VP%’


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle的rownum原理和使用(分页查询)

 
要显示1到2行则可以通过
select * from dangan where rownum between 1 and 2
在Oracle
中,要按特定条件查询前N条记录,用个rownum
就搞定了。
select *
from emp where rownum
<= 5
而且书上也告诫,不能对rownum
用">",这也就意味着,如果你想用
select * from emp
where row ......

Oracle SQL精妙SQL语句讲解


--行列转换 行转列
DROP TABLE t_change_lc;
CREATE TABLE t_change_lc (card_code VARCHAR2(3), q NUMBER, bal NUMBER);
INSERT INTO t_change_lc
SELECT '001' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100) bal from dual CONNECT BY ROWNUM <= 4
UNION
SELECT '002' card_code, ROWNUM q, trunc(d ......

ORACLE MODEL子句学习笔记

ORACLE 10G中新增的MODEL子句可以用来进行行间计算。MODEL子句允许像访问数组中元素那样访问记录中的某个列。这就提供了诸如电子表格计算之类的计算能力。
 
1、MODEL子句示例
下面这个查询获取2003年内由员工#21完成的产品类型为#1和#2的销量,并根据2003年的销售数据预测出2004年1月、2月、3月的销量。
 
......

关于oracle中使用nvl函数时,对空字符串的理解

 昨天下班之前在程序中遇到了一个使用nvl的sql语句,相信这个函数大家都应该使用过,并且应该是很简单的。
因为之前做的数据库移植时遇到过这个问题,所以今天拿来在这里记载一下。
其中有一段where条件是这样的:
and ((nvl('', ' ') <> ' ' and a.benifitvchno like '%%') or
    &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号