常用关键字

insert into---插入数据

delete---删除数据

update---更新一条数据

select---实际工作中尽量不要写*

set---设置某些属性

where---给执行的语句加限制条件

--增加信息 1
insert into p_dept(deptno,dname,loc)
,'ceshi','ceshi');
commit;
--增加信息 2
insert into p_dept
,'ceshi','ceshi');
commit;
--增加信息 3
insert into p_dept(deptno)
);
commit;

--查询
select t.*, t.rowid from P_DEPT t
select *, t.rowid from P_DEPT
select t.deptno from P_DEPT t where t.dname='SALES'

--修改deptno为60的数据dname为ceshi2

--删除数据
;
commit;

in---在某个范围内

--查询工资是800和3000的
,)

like(%, _)---模糊查询, %表示任意个字符, _表示单个字符

--查询name是T 开头的
select * from p_emp t where t.ename like 'T%'
--查询name是T 开头,后面三个字符的
select * from p_emp t where t.ename like 'T___'

order by---(列名或者写索引:1, 2) ASC正序(默认)  DESC倒叙

--按照工资排序
select * from p_emp e order by e.sal
--按照职位和工资排序,工资要大到小
select * from p_emp e order by e.job,e.sal desc
--按照第一列排序

group by---按照某几列分组

having---分组之后的过滤

--按照职位分组
select e.job from p_emp e group by e.job
--按照职位分组,查人数大于2的

case...when...---类似于分支

--sex为1=男,0=女
  then '男' else '保密' end 性别 from  p_emp e
--另一种写法
  then '男' else '保密' end from  p_emp e

distinct---去除重复

--去重复
select distinct e.job from p_emp e

between...and(闭合区间, 即包括前面的数, 也包括后面的数)

--查工资在800-3000的
 

all---表示一个集合中所有的元素

any/some---表示一个集合中任意一个元素

--查询工资最高的
select * from p_emp t where t.sal >=all(select t1.sal from p_emp t1)

常用函数
to_char---转换成字符型数据

to_date---转换成日期型数据

--日期与字符转换,dual为虚拟表
select to_char(t.hiredate,'yyyy-mm-dd') from p_emp t
select to_date('1994-10-20','yyyy-mm-dd') from dual
--计算时间差
select to_date('1994-10-20','yyyy-mm-dd')-sysdate from dual
--查询1990之后出生
','yyyymmdd')

分组函数:

mod---取余函数

avg---平均数函数

sum---求和函数

count---计数函数

--计算每个工作的总工资,平均工资,人数  分组
select t.job,sum(t.sal),avg(t.sal),count(t.ename) from p_emp t group by t.job

decode---类似于分支语句的函数

--查询性别
,,'女','保密') from p_emp e

substr---分割字符串

--分割name
) from p_emp e

max---取最大值函数

min---取最小值函数

--查询最高,最低工资
select max(e.sal) from p_emp e
select min(e.sal) from p_emp e

trunc---取整函数

ceil---向上取整函数

floor---向下取整

--取整,向上,向下 可用于日期
select trunc(12.345) from dual

select trunc(sysdate) from dual

select ceil(12.345) from dual

select floor(12.345) from dual

nvl---过滤空值函数

nvl2---过滤空值函数2

--过滤空值为0,只能处理数字
) from p_emp e
select avg(e.comm) from p_emp e --除以不为空的人数
)) from p_emp e  --除以总人数
--可以处理字符串,传三个参数
select nvl2(e.comm,'为空','不为空') from p_emp e

lower---将字母全部改为小写

upper---改为大写

concat---连接两个字符串

? wm_concat---列转行函数(也属于分组函数)

--只能连接两个字符串
select concat('aaa','bbb') from dual
select wm_concat() from --不推荐使用,将一列值链接可分租

Oracle数据库常用关键字以及函数的更多相关文章

  1. oracle数据库常用查询一

    oracle数据库常用查询一 sqlplus / as sysdba; 或sqlplus sys/密码 as sysdba;两者都是以sys登录.conn scott/tiger@orcl; conn ...

  2. Oracle数据库常用的Sql语句整理

    Oracle数据库常用的Sql语句整理 查看当前用户的缺省表空间 : select username,default_tablespace from user_users; 2.查看用户下所有的表 : ...

  3. ORACLE数据库常用查询二

    ORACLE数据库常用查询 1.查看表空间对应数据文件情况: SQL MB,AUTOEXTENSIBLE FROM DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME ...

  4. .Net 中读写Oracle数据库常用两种方式

    .net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...

  5. oracle常用关键字和函数

    数据库的增删改查: 增:insert into ... values(); 例:insert into p_emp values(sq_emp.nextval,,sysdate,,null,,); c ...

  6. Oracle数据库常用Sql语句大全

    一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSE ...

  7. oracle数据库常用plsql语句

    (一)oracle中常用的数据类型 (二)PL-sql基本语法 1.创建数据库表.删除数据库表 create table table1--创建表 ( field1 number(8), field2 ...

  8. oracle数据库常用SQL语句(11.29更新)

    笔者日常工作中常用到的sql语句,现总结如下,留作日后查看. 1.按照两列中的最大值取 ,只取两列其中的一列 SELECT * FROM t_doc T ORDER BY GREATEST(T.Loa ...

  9. ORACLE数据库 常用命令和Sql常用语句

    ORACLE 账号相关 如何获取表及权限 1.COPY表空间backup scottexp登录管理员账号system2.创建用户 create user han identified(认证) by m ...

随机推荐

  1. 在Cenos系统安装Python3.5版本,使P2和P3共存

    首先Cenos安装好后,系统自带python2.6版本 输入>>>exit()     退出 使用迅雷下载python3.5 链接:https://www.python.org/ft ...

  2. linux使用crontab实现PHP执行定时任务

    首先说说cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务. 所有用户定义的 crontab 都被保存在/var/spool/cron ...

  3. linux中怎么进入root用户

    如果你是第一次使用root用户,需要设置root用户密码:passwd root 根据提示输入然后切换到root用户:su root回车输入密码 回车

  4. RabbitMQ系列教程之四:路由(Routing)

    (使用Net客户端)在上一个教程中,我们构建了一个简单的日志系统,我们能够向许多消息接受者广播发送日志消息.在本教程中,我们将为其添加一项功能 ,这个功能是我们将只订阅消息的一个子集成为可能. 例如, ...

  5. 【LeetCode】125. Valid Palindrome

    题目: Given a string, determine if it is a palindrome, considering only alphanumeric characters and ig ...

  6. 如何为一个eclipse安装android环境

    据说android已经不再支持android adt-bundle的开发环境了,所以如果继续使用的话,会不再更新 使用eclipse来安装android环境或者使用android studio 但是以 ...

  7. for循环语句

    for循环格式:  for(表达式1:表达式2:表达式3)        {             循环语句        } 1.首先计算表达式1的值. 2.再计算表达式2 的值,若值为真(非0) ...

  8. 游戏UI框架设计(7): 资源国际化技术

    游戏UI框架设计(7) --资源国际化技术 说起"资源国际化"技术,个人认为可以追述到微软Window2000 PC操作系统的发布,在这之前windows98操作系统的开发都是先由 ...

  9. 基于Spring MVC 实现拦截器

    Spring MVC 拦截器 一,具体内容: 在所有的开发之中拦截器属于一个重要的组件,可以说几乎所有的项目都会提供的概念应用,不管是Spring MVC,还是Struts 2.x都是提供有拦截器的, ...

  10. java for循环

    publicclass Test2 {     staticboolean foo(char c) {        System.out.print(c);        returntrue;   ...