oracle 10g学习3

一、简单的select语句

select语句:
    SELECT    [DISTINCT]    {*,column [alias],....}
    FROM    table;

(1)查看s_dept的所有列信息
    select * from s_dept;
(2)查看s_emp表中的last_name,salary
    select last_name,salary
    from s_emp;
(3)查看s_dept中有哪些部门和区域id?
     select distinct name,region_id
    from s_dept;
起别名:
    a.在列名后面空格加别名,多个列之间用逗号隔开
        select last_name name,salary sal
        from s_emp;
    b.使用as
    select last_name as name,salary as sal  from s_emp;
   c.使用双引号区分别名大小写
        select last_name "Name",salary "sAl"
        from s_emp;

二、使用算术运算符进行简单的select查询
    + - * /
    (1)查询s_emp表中last_name,年薪
        select last_name,salary*12
        from s_emp;
    (2)查询s_emp表中last_name,年薪(分红10000)
    select last_name,salary*12+10000 sal
        from s_emp;
    (3)查询s_emp表中last_name,年薪(算上提成)
    select last_name,(salary+salary*commission_pct)*12 com
    from s_emp;

nvl函数:处理表中某些列存在空值的情况 null
nvl(参数1,参数2)
参数1:可能出现null值得列
参数2:如果该列的值是null,那么其取值为参数2
nvl(commission_pct,0)
 
 select last_name,(salary+salary*nvl(commission_pct,0))*12
 from s_emp;

三、sqlplus缓存机制的特点

  (1)只保存最近执行的一条sql语句(可以是多行)

  (2)每次执行的sql语句都会加载到缓存中,并且会将之前的sql语句覆盖掉

  l:显示缓存中的sql语句

  /:执行缓存中的sql语句

  n:定位到哪一行

  a:在定位的那一行追加新内容 如定位到第二行 from s_emp 此时输入命令 a ,s_dept确定,则第二行命令变为from s_emp,s_dept

  c:在定位的那一行修改指定的字符串 命令为:c /s_dept/s_region

  cl buff:清除buffer中的sql语句

  del:删除定位的那一行内容

  i:在定位的那一行后面插入新的一行

  l n:显示指定行的内容

  n sql:重写那一行  命令为:2 from s_emp

四、sql语句缓存

  save filename:将缓存中的sql语句保存到本地文件  命令为:save f:/sql.txt

  get filename:将文件中的sql语句加载到buffer,但是不执行sql语句

  start filename:将文件中的sql语句加载到buffer,并且执行sql语句

  edit filename:以记事本形式打开文件,编辑sql语句,ctrl+s  关闭

      spool filename

  ......

  ...... spool off

     记录在sqlplus中sql语句的执行过程,可以将屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。直到执行了spool off,就关闭了spool输出,才会在输出文件中看到输出的内容。

  col语句:设置当前会话中某个字段的长度(只适用于字符串列或者日期列,数字列不适用)

     col first_name for a12     将first_name列的显示长度设为12

  清除指定列的格式:col 列名|别名 clear

  设置数字列的格式:9:不强制补全

           0:强制补全

                       $:西方货币符号

            L:本地货币符号      

           .:小数点

           ,:分隔符

  heading设置:
   col last_name heading "haha"
   col last_name heading "haha" for a15 

  设置居(center,right,left)(只是头部居了,查询出的内容位置没变)

  col salary jus left   

  

  

    

原文地址:https://www.cnblogs.com/sq-software/p/5104924.html