常用关键字

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. Java 基础 程序流程控制 (上)

    Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...

  2. Administrator账户密码忘了怎么办

    WIN7的Administrator账户密码忘了怎么办   1.准备一个带有winpe系统的系统光盘或者U盘 2.启动电脑,按F12选择U盘或者光盘启动,进入winpe操作系统 3.找到c:\wind ...

  3. 转载: C++ 获取文件夹下的所有文件名

    最近需要得到某个文件夹下所有文件名,于是就上网上查了查,得到如下的解决方案最多: 而且查到的最早的版本是这个:http://blog.csdn.net/cxf7394373/article/detai ...

  4. 【LeetCode】233. Number of Digit One

    题目: Given an integer n, count the total number of digit 1 appearing in all non-negative integers les ...

  5. 如何使用jedis进行发布订阅

    jedis实现发布订阅,是通过让发布者和订阅者同时对某个channel(频道)进行操作,订阅者订阅了某个频道例如channel1,发布者往这个channel1里面publish东西,在pubsubli ...

  6. accp8.0转换教材第4章MySQL高级查询(二)理解与练习

    知识点:EXISTS子查询.NOT EXISTS子查询.分页查询.UNION联合查询 一.单词部分 ①exist存在②temp临时的③district区域 ④content内容⑤temporary暂时 ...

  7. 如何使用slice,substr代替substring(原创)

    //写这个是为了加深对substring和slice的理解 substring: 任何一个参数小于0,都会被替换成0.两个参数,最小值会被当做start,最大值当做end. 参数 描述 start 必 ...

  8. servlet+jsp导入Excel到mysql数据库

    package khservlet; import java.io.FileInputStream;import java.io.IOException;import java.io.InputStr ...

  9. Sass控制命令及函数知识整理

    2017-07-07  20:17:17 最底部附结构图(实在是结构图太长了没办法) 2017-06-22  09:11:43 一.Sass的控制命令 1.@if语句 @if 指令是一个 SassSc ...

  10. 【Python3之多线程】

    一.threading模块 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性. 1.开启线程的两种方式(同Process) 方法一 from thr ...