友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

SQL 21日自学通(V3.0)(PDF格式)-第146章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






         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 文
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!