5 set echo on
6 set feedback on
7 … SQL STATEMENT
8 select *
9 from products
10
SQL》
如果想看一个脚本文件是如何注释的 请输入
SQL》 edit query10
高级报表
现在我们来做一个游戏 通过今天你已经学习的以及你在此之前学习过的概念 你现
在可以创建一个非常奇特的报表 假设你的脚本名字为 report1。sql 运行它以后 坐下来
看它的结果
输入
SQL》 @report1
输出
SQL》 set echo on
SQL》 set pagesize 50
SQL》 set feedback off
SQL》 set newpage 0
SQL》 col product_name hea "PRODUCT|NAME" for a20 trunc
SQL》 col unit_cost hea "UNIT|COST" for 99。99
SQL》 col product_qty hea "QTY" for 999
SQL》 col total for 99;999。99
SQL》 spool report
SQL》 pute sum of total on customer
SQL》 pute sum of total on report
SQL》 break on report on customer skip 1
469
…………………………………………………………Page 470……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
SQL》 select o。customer; p。product_name; p。unit_cost;
2 o。product_qty; (p。unit_cost * o。product_qty) total
3 from orders o;
4 products p
5 where o。product_id = p。product_id
6 order by customer
7 /
PRODUCT UNIT
CUSTOMER QTY TOTAL
NAME COST
JONES and SONS MICKEY MOUSE LAMP 29。95 50 1;497。50
NO 2 PENCILS 20 PA 1。99 10 19。90
COFFEE MUG 6。95 10 69。50
Sum 1;586。90
PARAKEET CONSULTING GROUP MICKEY MOUSE LAMP 29。95 5 149。75
NO 2 PENCILS 20 PA 1。99 15 29。85
SQL MAND REFERENC 29。99 10 299。90
BLACK LEATHER BRIEFC 99。99 1 99。99
FAR SIDE CALENDAR 10。50 22 231。00
Sum 810。49
PLEWSKY MOBILE CARWASH MICKEY MOUSE LAMP 29。95 1 29。95
BLACK LEATHER BRIEFC 99。99 5 499。95
BLACK LEATHER BRIEFC 99。99 1 99。99
NO 2 PENCILS 20 PA 1。99 10 19。90
NO 2 PENCILS 20 PA 1。99 10 19。90
Sum 669。69
Sum 3;067。08
SQL》 Input truncated to 9 characters
spool off
分析
在这个脚本中做了许多的工作 如果你看到了实际的 SQL 语句 你可以知道它是从两
个表中选择了数据并对它们进行了计算功能 语句在 WHERE 中归并了两个表并将它们安
照客户的名字进行了排序 这只是基本的 此外 SQL*PLUS 按照你所看到的那样对日期
进行了格式化处理 BREAK 命令对报表进行了分组 并对每一组和全部的数据进行了汇
总
470
…………………………………………………………Page 471……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
总结
今天主要讲述了 ORACLE 对标准的 SQL 的扩展 这些命令只是你在 SQL*PLUS 的可
用命令中的一小部分 如果你使用 ORACLE 的产品 那么请检查你的数据库文档 那里有
你今天学习的内容 而且你还可以从中知道更多的内容 你会发现你几乎可以用 SQL*PLUS
来完成任何报表工作而无需面向过程型语言的帮助 如果你没有使用 ORACLE 的产品 那
么今天的所学将会对你从数据库中获得数据的方法得到提高 许多的 SQL 解释器都对标准
的 SQL 进行了扩展和增强
问与答
问 我既然可以直接用 SQL 来得到结果 那么为什么我还要在 SQL*PLUS 上花这么
多的时间
答 如果你需要生成简单的报表 那么直接用 SQL 就行了 但是使用 SQL*PLUS 你
可以做得更快 而且可以肯定的是你的报表可以需要的内容是非常多的
问 如果 DUAL 表没有 COLUMN 我应该如何选择它
答 因为 SYSDATE 是一个预定义的列 所以你可以从 DUAL 中选择 SYSDATE 或任
何其它的有效的表
问 我是否可以在 DECODE 中使用其它的 DECODE
答 当然可以 它是可以嵌套的 在 SQL 中你可以在函数中运行其它的函数来得到你
想要的结果
校练场
1 哪些命令可以改变你的 SQL 会话的性能
2 你可以在 SQL 的脚本中提示用户输入参数并根据输入的参数运行吗
3 如果你对 CUSTOMERS 表创建了一个汇总报表 你如果在你的报表中对你的数据进行
分组
4 你在使用 LOGIN。SQL 文
小说推荐
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 最新章:第309章
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 最新章:第26章
- 电子电路大全(PDF格式)
- -Page 1-电力生产人员技能培训电路基础部分电路基础部分电电路路基基础础部部分分-Page 2-一、电路的基本概念和基本定律-Page 3-考试点1o 1、掌握电阻、独立电压源、独立电流源、11受控源、电容、电感、耦合电感、理想变压器诸元件的定义、性质2o 2、掌握电流、电压参考方向的概念223
- 最新章:第353章