1:解锁用户
alter user 用户名 account unlock;

2:获取系统时间、随机数
select sysdate, sys_guid() from dual;

3:起别名,使可读性更强,如果想保留字段原来模样,可以
使用双引号括起来
select ename,salary*12 from emp;
select ename,salary*12 annuary_sal from emp;
select ename,salary*12 as annuary_sal from emp;
select ename,salary*12 "annuary sal" from emp;

4:空值
select ename,sal*12+comm from emp;如果算术表达式中有值为null,那么表达式的值就是null
select ename,sal*12+nvl(comm,0) from emp;nvl()函数,如果有值就计算值,为null则替换为0

5:连接符|| ,concat
select ename||sal from emp;
select concat(ename,sal) from emp;

6:数据内部存在单引号',使用两个单引号代替一个单引号
select 'i''m lilei!' from dual;

7:distinct去除数据中重复值
select distinct deptno from emp; --获取不重复的deptno的值
select distinct deptno,job from emp; --当distinct修饰两个及以上字段时,表示修饰字段组合不重复

8:条件查询where
select ename,sal from emp where sal>5000; --查询薪水大于5000的员工
select ename,sal from emp where sal<5000; --查询薪水小于5000的员工
select ename,sal from emp where sal<>5000; --查询薪水不等于5000的员工
select ename,sal from emp where sal>=2000 and sal<=7000; --查询薪水大于等于2000,并且小于等于7000的员工
select ename,sal from emp where sal between 2000 and 7000;--同上
select ename,sal from emp where comm is null;--查询奖金为null的员工
select ename,sal from emp where comm is not null;--查询奖金不为null的员工
注意:null在where后面作为条件时用is ,但是update后面修改值时用=

9:in 查询一个字段对应的多个值
select ename,deptno from emp where deptno in(10,20); --查询部门编号为10或者20的员工
select ename,deptno from emp where deptno not in(10,20); --查询部门编号不为10或者20的员工

10:and 同时,or 或者,not 取反
select ename ,deptno from emp where deptno=10 and sal>5000;--查询部门编号为10,同时薪水大于5000的员工
select ename ,deptno from emp where deptno=10 or sal>5000; --查询部门编号为10 或者薪水大于5000的员工

11:模糊查询like %匹配多个字符 _匹配一个字符
select ename from emp where ename like '%a%'; --查询名字中包含a的员工
select ename from emp where ename like '_a&'; --查询名字第二个字符为a的员工
select ename from emp where ename like '%\%%'; --如果名字中包括%,那么就需要转义,默认是\,也可以指定,如下
select ename from emp where ename like '%$%%' escape '$' --指定$符号为转义字符

12:排序 order by asc desc
select * from dept order by deptno; --按照deptno排序,默认是升序(asc)
等效于 select * from dept order by deptno asc;

select * from dept where deptno=10 order by dname;--和where组合使用,先筛选出deptno为10的部门,在按照部门名称排序。

select * from dept where deptno=10 order by dname asc,loc desc;--先按照部门名称升序排序,如果部门名称中有相同的,在按照
地址降序排列。

13:常用的sql函数

select lower(ename) from emp; --lower():转换为小写

select upper(ename) from emp; --upper():转换为大写

select substr(ename,1,3) from emp;--从ename字段1开始,截取长度为3的子串 substr():获取子串

select chr(97) from dual; --chr():将数字转换为对应的字符

select ascii('a') from dual; --ascii():将字符转换为ascii码

select round(2.35,1) from dual;--精确到小数点后1位 pound():四舍五入
select round(2.35) from dual;--默认精确到整数

select to_char(sal,'$999,999.9999') from emp; --将数字转换为字符串,以$符开头,999的格式,L代表本地化货币

select to_char(sysdate,'yyyy-MM-dd HH:mm:ss') from dual; --将日期格式转换为字符串 12小时制
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual; -- 24小时制

oracle学习总结1的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. Oracle学习线路

    出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验)    作为oracle的基本功,需要大家对sql和 ...

  3. Oracle学习指南

    Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...

  4. Oracle学习系列1-7

    Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

  5. Oracle学习系列7

    Oracle学习系列7 ************************************************************************************ 关联表 ...

  6. Oracle学习系列6

    Oracle学习系列6 ************************************************************************************ 删除约 ...

  7. Oracle学习系列5

    Oracle学习系列5 ************************************************************************************ ,掌握 ...

  8. Oracle学习系列4

    Oracle学习系列4 ************************************************************************************ 数据库 ...

  9. Oracle学习系列3

    Oracle学习系列3 ************************************************************************************ 多表查 ...

  10. oracle学习笔记(一)用户管理

    --oracle学习第一天 --连接 @后面连接数据库实例,具体连接到那个数据库 conn scott/tiger@MYORA1; --修改密码 passw; --显示用户 show user; -- ...

随机推荐

  1. Java String StringBuffer StringBuilder

    String  字符串常量存储在常量区,每次追加操作会创建新的对象: StringBuffer  字符串变量  线程安全 在堆上创建,每次追加操作在原对象上进行操作:  速度 StringBuffer ...

  2. JqueryTips小实验,浏览器滚动条不限制

    最近做公司的项目有些地方可能需要一些小提示,于是自己建立项目研究tips.在此之前看到过一些别人写的JqueryTips,于是借鉴了一些别人的经验在此基础上我做出了一些改进. 有的同学可能使用过其他一 ...

  3. 关于main()和_tmain()

    1.两者的共同点 int _tmain(int argc, _TCHAR* argv[])    和  int main(int argc, char* argv[])  ,两者都是程序的主函数,两者 ...

  4. 秒杀 ILSpy 等反编译利器 DotNet Resolver

    http://dotnetresolver.eu5.org/downloads.html DotNet Resolver is a free .NET decompiler written in C# ...

  5. linux shell-syntax error near unexpected token错误

    在windows下用记事本编写linux shell脚本后,执行遇到syntax error near unexpected token错误 问题原理:网上找了好久,找到原因,原来是回行的问题,每个系 ...

  6. ABAP开发基础知识:内表(Internal Table)

    http://www.cnblogs.com/foxting/archive/2012/03/19/2406830.html 内表与结构体基本类似,它同样是程序运行中被临时创建的一个存储空间,它是一个 ...

  7. hdoj 2084 数塔

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  8. [Xcode使用 - 1] 自定义代码块引用

    Xcode本身带有编码常用的代码块可供使用,如下图   例如 “if” 这个代码块的定义     调用方法 1.可以直接拖放带编辑区   2.使用快捷键,键入 “if”, Xcode就会出现自动完成的 ...

  9. [置顶] 解成电OJ1003真实的谎言的记录

    原题目 Description   N个人做一个游戏,游戏中每个人说了一句话(可能是真的也可能是假的) 第i个人说:“N个人中有至少有ai个,至多有bi个人说的是真话!”(i = 1, 2, 3….. ...

  10. linux系统基础(二)

    磁盘管理(一) Linux设备认识 /dev/cdrom /dev/sr0 /dev/mouse /dev/sda /dev/hda IDE硬盘(支持4块):hd(a-d) [非IDE硬盘]SCSI硬 ...