添加列:

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. <转载> js 闭包

    http://www.haorooms.com/post/js_bbtwo http://www.jb51.net/article/24101.htm http://www.cnblogs.com/f ...

  2. python大法好——字典、集合

    字典 前面我们说过列表,它适合于将值组织到一个结构中并且通过编号对其进行引用.字典则是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(key)下 ...

  3. AspxCallback和AspxCallbcakPanel区别

    AspxCallback是一个无界面控件,主要功能是启动一个回调,进行数据交互,而AspxCallbcakPanel为一个容器控件,可以在里面添加控件,并且可以局部刷新AspxCallbcakPane ...

  4. Image.Url 无法使用 Server.MapPath(使用后无论如何也不显示)

    Image.Url 无法使用 Server.MapPath(使用后无论如何也不显示)

  5. Hive安装 和管理

  6. C语言复习: 二级指针和多级指针

    二级指针内存模型建立 void main2() {     int i = 0;       //指针数组     char * p1[] = { "123", "456 ...

  7. 如何安装和配置RabbitMQ(转载)

    如何安装和配置RabbitMQ 今天开始一个小小的练习,学习一下安装和配置RabbitMQ,为什么要学它,因为WCF可以完全兼容和使用RabbitMQ了.我们新的大数据系统需要使用消息队列,所以就开始 ...

  8. C#格式化数值结果表(格式化字符串)

    字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0:D3}", ...

  9. sqlalchemy 学习-- 多表操作

    一对多:一对一 # one -- many class Students(Base): __tablename__ = "students" sid = Column(Intege ...

  10. eclipse git 拉取内容