添加列:

alter table tablename add columnName datatype (not null);        -------需要注意一点的是在添加一列为非空的时候, 表必须是空表.

删除列:

alter table tablename drop column columnName

改变列的数据类型:

alter table tablename modify columnName datatype

改变列名:

alter table tablename rename column columnName to new_columnName

删除数据:

delete tablename;

truncate table tablename;

drop table tablename;     --------删除表

常用的聚合函数:

  取整函数

    floor()-----向上取整

    ceil()-----向下取整

    trunc()-----取整

    round()-----四舍五入取整

查询年龄的时候可以使用这个函数

  select trunc(months_between(*,*)/12) from table-----------前者是未来的日期

  或者

  select trunc(sysdate-dataDate)/365 from table

trunc()聚合函数扩张使用的例子(格式化日期以及格式化数字)

  TRUNC(TO_DATE('24-Nov-1999 08:00 pm','dd-mon-yyyy hh:mi am')='24-Nov-1999 12:00:00 am'

  TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am'

  trunc(sysdate,'yyyy') --返回当年第一天。

  trunc(sysdate,'mm') --返回当月第一天。

  trunc(sysdate,'d') --返回当前星期的第一天。

  trunc(sysdate,'dd')--返回当前年月日

  2.TRUNC(for number)

  TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。

  其具体的语法格式如下

  TRUNC(number[,decimals])

  其中:

  number 待做截取处理的数值

  decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分

  下面是该函数的使用情况:

  TRUNC(89.985,2)=89.98

  TRUNC(89.985)=89

  TRUNC(89.985,-1)=80

  注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推。

months_between()返回的是差多少个月, 两个日期数据相减是差多少天

union和union all------------一个去除重复一个全部显示

case的用法

  先上两种语法:

    case when 字段名=... then ...(无限接) else ... end

    case 字段名 when ... then ...(无限接) else ... end

      不写 end 是猪, 忘了N+1次了

decode()函数

  decode()函数有点类似于case...when的用法

  decode(字段名,'值1','值1的对应值','值2','值2的对应值'...(无限接)...,'default')

vm_concat()函数

select sname,student.sno,wm_concat(cno) from student join score on student.sno=score.sno group by sname,student.sno order by student.sno

student表:

score表:

查询结果:

concat函数:

将两个查询结果连接到一起去, 最多两个

  select concat(sname,sbirthday) from student

replace()函数:

  replace(字段名,'值1',值2)

  查询字段的内容, 如果他是'值1', 就替换成'值2'

nvl()和nvl2():

  nvl(字段名,'值')

  如果查询的这个字段的值为空(null), 就返回'值'

  nvl2(字段名,'值1','值2')

  如果查询结果不为空, 返回'值1', 如果为空返回'值2'

oracle 11g SQL语句补充学习的更多相关文章

  1. Oracle PL/SQL语句基础学习笔记(上)

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL ...

  2. Oracle常用SQL语句大全

    常用Oracle数据库SQL语句汇总. 1.常用操作 --清空回收站purge recyclebin;--查询回收站select * from recyclebin--查询Oracle版本信息sele ...

  3. oracle常用SQL语句(汇总版)

    Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

  4. oracle之sql语句优化

    oracle之sql语句优化 sql语句的优化 1.在where子句中使用 is null 或 is not null 时,oracle优化器就不能使用索引了. 2.对于有连接的列,即使最有一个是静态 ...

  5. oracle中sql语句的优化

    oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)D ...

  6. oracle 常用sql语句

    oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...

  7. Oracle中SQL语句分类

    Oracle中SQL语句分类如下:1.DML语句 insert/delete/update/select/merge/explan plan/lock table2.DDL语句 create/atlt ...

  8. Oracle和SQL语句的优化策略(基础篇)

    转载自: http://blog.csdn.net/houpengfei111/article/details/9245337 http://blog.csdn.net/uniqed/article/ ...

  9. Access、SQLServer、Oracle常见SQL语句应用区别

    Access.SQLServer.Oracle常见SQL语句应用区别 关劲松 PMP 如果要兼容Access.SQL Server.Oracle三个数据库版本:我们在编写SQL语句的过程中,尽量使用一 ...

随机推荐

  1. 10.纯 CSS 创作一个同心圆弧旋转 loader 特效

    原文地址:https://segmentfault.com/a/1190000014682999 想到了扇形:正方形 ->border-radius: 50%; ->取四份中的任意一份. ...

  2. python中的keys、values、items

    keys()获取字典中所有的键并放入列表 values()获取字典中所有的值并放入列表 items()获取字典中所有的键值对并放入列表 举个例子: 1 a = { 2 "name" ...

  3. hive设置参数的方法

    1.修改环境变量 ${HIVE_HOME}/conf/hive-site.xml 2.命令行参数 -e : 执行短命令 -f :  执行文件(适合脚本封装) -S : 安静模式,不显示MR的运行过程 ...

  4. springboot 端口号

    1. 读取端口号 2.多端口运行 2.

  5. Spring Cloud (6)config 客户端配置 与GitHub通信

    1. 配置yml 1.1 1.2 1.3 2. 提交yml 到git 3.新建项目 pom 4.新建bootstrap.yml (优先权比application.yml高) 5.bootstrap.y ...

  6. 【转】bootstrap实现左侧菜单伸缩

    传送门:https://blog.csdn.net/easyboot/article/details/59486235

  7. eclipse打断点,进行弹窗提示后点击是才进入debug视图,这个要怎么恢复

    window --> preferences --> Run/Debug --> Perspectives 里的 open the associated perspective wh ...

  8. Haskell语言学习笔记(79)lambda演算

    lambda演算 根据维基百科,lambda演算(英语:lambda calculus,λ-calculus)是一套从数学逻辑中发展,以变量绑定和替换的规则,来研究函数如何抽象化定义.函数如何被应用以 ...

  9. python实现排序算法一:快速排序

    ##快速排序算法##基本思想:分治法,将数组分为大于和小于该值的两部分数据,然后在两部分数据中进行递归排序,直到只有一个数据结束## step1: 取数组第一个元素为key值,设置两个变量,i = 0 ...

  10. python中itertools里的product和permutation

    平时经常碰到全排列或者在n个数组中每个数组选一个值组成的所有序列等等问题,可以用permutation和product解决,很方便,所以在此mark一下吧 直接上代码 from itertools i ...