转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
PL/Sql循序渐进全面学习教程--Oracle         ★★★★

PL/Sql循序渐进全面学习教程--Oracle

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4178 更新时间:2009/4/22 22:04:46

课程 一 PL/SQL 基本查询与排序


本课重点:

   1、写SELECT语句进行数据库查询

   2、进行数学运算

   3、处理空值

   4、使用别名ALIASES

   5、连接列

   6、在SQL PLUS中编辑缓冲,修改SQL SCRIPTS

   7、ORDER BY进行排序输出。

   8、使用WHERE 字段。


 

   一、写SQL 命令:

     不区分大小写。

     SQL 语句用数字分行,在SQL PLUS中被称为缓冲区。

     最后以;或 / 结束语句。

     也可以用RUN来执行语句

   二、例1:SQL> SELECT dept_id, last_name, manager_id

            2 FROM s_emp;

         2:SQL> SELECT last_name, salary * 12, commission_pct

            2 FROM s_emp;

            对于数值或日期型的字段,可以进行相应的四则运算,优先级与标准的高级语言相同。

            SQL> SELECT last_name, salary, 12 * (salary + 100)

            2 FROM s_emp;

    三、列的别名ALIASES:

        计算的时候特别有用;

        紧跟着列名,或在列名与别名之间加“AS”;

        如果别名中含有SPACE,特殊字符,或大小写,要用双引号引起。

        例(因字体原因,读者请记住:引号为英文双引号Double Quotation):

        SQL> SELECT last_name, salary,

          2 12 * (salary + 100) ”Annual Salary”

          3 FROM s_emp;

    四、连接符号:||

        连接不同的列或连接字符串

        使结果成为一个有意义的短语:

        SQL> SELECT first_name || ’ ’ || last_name

          2 || ’, ’|| title ”Employees”

          3 FROM s_emp;

    五、管理NULL值:

        SQL> SELECT last_name, title,

           2 salary * NVL(commission_pct,0)/100 COMM

           3 FROM s_emp;

           此函数使NULL转化为有意义的一个值,相当于替换NULL。

    六、SQL PLUS的基本内容,请参考<SQL PLUS 简单实用精髓篇 >

    七、ORDER BY 操作:

        与其他SQL92标准数据库相似,排序如:

        SELECT expr

         FROM table

           [ORDER BY {column,expr} [ASC|DESC]];

    从Oracle7 release 7.0.16开始,ORDER BY 可以用别名。

    另:通过位置判断排序:

    SQL> SELECT last_name, salary*12

       2 FROM s_emp

         3 ORDER BY 2;

      这样就避免了再写一次很长的表达式。

    另:多列排序:

    SQL> SELECT last name, dept_id, salary

        2 FROM s_emp

         3 ORDER BY dept_id, salary DESC;

    八、限制选取行:

          SELECT expr

           FROM table

             [WHERE condition(s)]

             [ORDER BY expr];

       例1:

       SQL> SELECT first_name, last_name, start_date

           2 FROM s_emp

           3 WHERE start_date BETWEEN ’09-may-91’

           4 AND ’17-jun-91’;

       例2:

       SQL> SELECT last_name

           2 FROM s_emp

            3 WHERE last_name LIKE ’_a%’;  //显示所有第二个字母为 a的last_name

       例3:

       如果有列为NULL

       SQL> SELECT id, name, credit_rating

           2 FROM s_customer

             3 WHERE sales_rep_id IS NULL;

       优先级:

        Order        Evaluated Operator

          1   All comparison operators  (=, <>, >, >=, <, <=, IN, LIKE, IS NULL, BETWEEN)

 

          2    AND

          3      OR

   

      总结:我们今天主要学习了如何进行查询SELECT操作,具体的组合查询与子查询将在以后的课堂中学习,同时希望大家可以工作、学习中多多摸索,实践!

 

课程 二 PL/SQL PL/SQL 查询行函数


本课重点:
   1、掌握各种在PL/SQL中可用的ROW函数

   2、使用这些函数的基本概念

   3、SELECT语句中使用函数

   4、使用转换函数

   注意:以下实例中标点均为英文半角

   一、FUNCTION的作用:

       进行数据计算,修改独立的数据,处理一组记录的输出,不同日期显示格式,进行数据类型转换

       函数分为:单独函数(ROW)和分组函数

       注意:可以嵌套、可以在SELECT, WHERE, 和 ORDER BY中出现。

       语法:function_name (column|expression, [arg1, arg2,...])

   二、字符型函数

       1、LOWER 转小写

       2、UPPER

       3、INITCAP  首字母大写

       4、CONCAT  连接字符,相当于 ||

       5、SUBSTR  SUBSTR(column|expression,m[,n])

       6、LENGTH   返回字符串的长度

       7、NVL    转换空值

       其中,1、2经常用来排杂,也就是排除插入值的大小写混用的干扰,如:

        SQL> SELECT first_name, last_name

          2 FROM s_emp

          3 WHERE UPPER(last_name) = ’PATEL’;

       FIRST_NAME LAST_NAME

      -------------------- --------------------

         Vikram    Patel

         Radha     Patel

    三、数学运算函数

       1、ROUND

          四舍五入:ROUND(45.923,2)  = 45.92

          ROUND(45.923,0)  = 46

          ROUND(45.923,-1)  = 50

       2、TRUNC

          截取函数

          TRUNC(45.923,2)= 45.92

          TRUNC(45.923)= 45

[1] [2] [3] [4] [5] [6] [7] [8]  下一页


[学习帮助]为什么学习那么的令人害怕呢.?  [精彩网文]直面高三
[精彩网文]学习成功=100%的学习意愿+100%的切实行动  [办公软件]学习PowerPoint心得体会
[网络安全]菜鸟学习—认识无线网络安全技术规范  [Web开发]如何学习Asp.net九步曲—菜鸟导读
[Web开发]最简单的AJAX 无刷新学习例子(示例,包含代码和完…  [Web开发]推荐学习的与NET相关的⑩项技术
[平面设计]Flash动画学习心得体会  [平面设计]学习Flash动画制作技巧、帧的理论知识尤为重要
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台