日期:2014-05-16  浏览次数:20463 次

Oracle数据库之SQL---select之一

          前言  

           前篇笔者已经说明,最好的学习就是实战!因此我的学习也就是从实战中展开的。在一切SQL

      语句中最基本的莫过于查询语句了,因此笔者也是从select语句开始学习的。(其实这部分笔者)

      已经掌握,但是还是有必要重新掌握的。

           对于前期的学习,主要用到的是Oracle数据库中本就存在的一些表,这里笔者使用Scott这个经典

      用户进行相关练习与操作!开始吧!

           一条简单的查询:

         select *from emp;--查询emp表的全部信息,简单到无可附加

           查询中使用表达式      

         select emp.sal*12 from emp;--查询所有员工的年薪(假定如此)
         select emp.ename,sal*12+500 from emp;

           对列取别名(必要的)

         select emp.ename "姓名"from emp;--别名的使用

           对空值的处理

                       首先我们必须明白的是:我们从数据库中取值的时候,有可能出现该域并未赋值

                  既为“NULL”但是,在一些运算表达式中这是不合理的,因此必须对其进行处理,可以

                  使用NVL函数进行处理:

         select emp.ename ,emp.sal+emp.sal*NVL(NULL,0) from emp;--对于空值的处理

                  NVL:若为空值则替换为指定的值

                  另外对于空值需要注意的是:

                             1、空值指的是不可用,不知道,不适用的值

                              2、空值是不等于零和空格的

                              3、对空值进行运算之后的值也为空值

          去掉重复行

                  现实中有这种需求,我们不需要统计哪些多次出现过的项

                  1、不去重演示:

            select emp.sal from emp order by sal asc;--使用升序的方式
                       
                2、去掉上面列表中重复的两项      
            select distinct emp.sal  from emp;--使用distinct关键字去重复