orcal sql基础

oracle 语句分为 select语句,DML(数据操作语言) insert  update delete merge,DDL(数据定义语言) create alter drop truncate,DCL(数据控制语言)grant revoke  事物控制语句 commint rollback  savepoint

 

1. 去除重复行  distinct    例如 : select distinct sal from emp   跟多个字段 就是多个字段的组合 去重复

2.between and    note: 必须前小后大  才能正常查询  否则查不出数据

3.to_date('2010-08-27 20:46:59','yyyy-mm-dd hh24:mi:ss')  注意格式 mi

4.like   '_abc%'  包含abc字符串且abc字符串前有一位  后有若干位   

5.构造转义字符  select * from student where name like  '%\_%' espace '\'; 将\作为转译字符  意思为查询名字含有_的学生名字。

6. select  sysdate from dual   ;  select 2+3 from dual;

7.直接计算 select sal*12+4 from emp;   

8. || 的作用  合列操作    select  ename||' is a ' || job  from emp;

9. "" 作用  select ename "名  字 Name" from emp;空格 大小写 得到尊重

10. order by  默认升序asc  desc降序      多个字段:order by  sal  , ename  desc  先按工资升序 如果有重复再按ename降序

11.desc emp  ; 查看emp表的结构

12.逻辑运算  not , and  ,or 

13 运算符优先级

                1      *  /

                2      + - 

                3      ||

                4     =  >  >=  <  <=  <>

                5    is [not]  null ,     like  , [not] in 

                6    [not] between..and  

                7    not 

                8   and

                9    or

    可以使用小括号改变运算顺序

 

 

================通用函数============================

1.    NVL(EXP1,EXP2) 如果exp1为null  返回exp2的值  使用范围 字符 数字 日期

2.    NVL2(exp1,exp2,exp3) 如果exp1值不为null 返回 exp2的值 否则返回exp3的值

3.   nullif(exp1,exp2) 比较exp1与exp2是不是相等 相等返回 null 不等返回 exp1

4.    coalesce(exp1,exp2,exp3.....) 依次考察参数 遇到非null 返回该值                     

5     select empno,ename,sal,

                            case   deptno   when   10   then '财务部'

                                                     when   20   then '研发部'

                                                     when   30   then '销售部'

                                                     else  '未知部门'

                             end   as  '部门'

          from   emp;

相当于if else 的用法

6

  将上面的方法简化 为  

           decode(deptno,  10    ,   '财务部'  ,

                                      20     ,  '研发部'  ,

                                      30     ,  '销售部'  ,

                                                '未知部门' )

  7.常用分组函数     函数名称        功能说明                              适用类型

                           avg()             计算平均值                           任何类型

                           count()          返回查询所得到的记录条数      任何类型

                           max()            计算最大值                           任何类型

                           min()             计算最小值                           任何类型

                           sum()            求和                                    数值类型

对多行记录返回一行结果  

count(expt) 返回exp值 非空的记录条数

count(distinct(exp))  返回exp值 不重复的 非空的 记录条数 

avg(exp) 不计算空值的字段

按编号分成小组

select  enptno  avg(sal) emp group by  deptno;

 

 

  

 

=======================================

自己查出来插入自己表

insert into t (oldid,newid,upload_inmodel,is_upload) (select oldid,newid,upload_inmodel,is_upload  from t )    id增长的字段 可以

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值