ORACLE 的 select (一)

来源:互联网 发布:ubuntu 16.04 arm gcc 编辑:程序博客网 时间:2024/05/21 22:25

select 语句,开门见山,先来看语法

     SELECT  *  | {[DISTINCT] column | expression [alias],...} FROM TABLE;

       SELECT   标识 选择哪些列 ,  FROM      标识从哪个表中选择


       这里注意的是在oracle中,有select就得必须对应有from,在mysql中可以不用对应, 

       DEMO:

       显示系统当前时间

       select  now() ---》mysql
       select  sysdate from dual;    //
dual表是oracle为了拼接一些语言,而设计的一个哑表。


写sql语句要注意一下几点

    1. SQL 语言大小写不敏感。
    2. SQL 可以写在一行或者多行
    3. 关键字不能被缩写也不能分行
    4. 各子句一般要分行写。
    5. 使用缩进提高语句的可读性。

 简单查询
     SELECT * FROM   TABLE;
    
      column_name1 , column_name2, column_name3   , column_name4
-----------------------------------------------------------------------------------------------------------
                   1                            a                           cat1             .                 ss
-----------------------------------------------------------------------------------------------------------
                   2                            a                           cat2                               ss
-----------------------------------------------------------------------------------------------------------
                   3                           a                            cat3                               ss
-----------------------------------------------------------------------------------------------------------
                   4                           a                            cat4                               ss



 选择特定的列
     SELECT  column_name1, column_name2  FROM  TABLE;
             

            column_name1 , column_name2

--------------------------------------------------------
                       1                            a            
--------------------------------------------------------
                       2                            a    
--------------------------------------------------------
                       3                            a    

使用数学运算符

    +   ,   -     ,  *  ,  /
乘除的优先级高于加减,优先级相同时,按照从左至右运算  ,可以使用括号改变优先级
DEMO:

  1.SELECT last_name, salary, salary + 300    FROM  employee;

  2.SELECT last_name, salary, 12* ( salary+100 )   FROM  employee;

空值是无效的,未指定的,未知的或不可预知的 ,  空值不是空格或者0 ,  包含空值的数学表达式的值都为空值

SELECT last_name,12*salary+commission_pct   FROM  employee;  这里假定commission_pct为空值,那么12*salary+commission_pct为空值

列的别名:
重命名一个列。便于计算。紧跟列名,也可以在列名和别名之间加入关键字‘AS’,
别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写 ,AS可以省略

SELECT last_name  AS name, commission_pctcomm   FROM  employee;

SELECT last_name"Name", salary*12 "AnnualSalary"  FROM  employee;  注意字段名与双引号之间的对等关系












              


0 0