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. selenium+testNG+Ant

    好几天没写了,抽时间写下,也好有个总结: 1.selenium+testNG+Ant (1)ant 是构建工具 他的作用就是运行你配置好的东西 而tentng.xml你可以认为他是管理test的一个配 ...

  2. 【原】Redis分区

    Redis高级篇 分区 为什么分区? Redis中的分区主要有两个目的: 允许用多台机器的内存存放更大的数据集.如果没有分区,那么你只能存放单台机器内存的最大值的数据集. 允许用多核和多台机器提高计算 ...

  3. 各类JavaScript插件

    ZeroClipboard复制内容到剪切板(支持IE.FF.Chrome) ZeroClipboard.js ZeroClipboard.swf hotkeys键盘监听 jquery.hotkeys. ...

  4. NOIP2006 作业调度方案

    1.             作业调度方案 (jsp.pas/c/cpp) [问题描述] 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工 ...

  5. 项目用到了lua的哪些部分

    昨天有位同事跟我说,我们的手游客户端(cocos2d-x lua binding)代码没有看到lua的特殊技巧,用起来跟其他语言差不多.<Programming in lua>毕竟有将近4 ...

  6. 题解西电OJ (Problem 1003 -最喜欢的数字)--动态规划

    Description zyf最喜欢的数字是1!所以他经常会使用一些手段,把一些非1的数字变 成1,并为此得意不已.他会且仅会的两种手段是: 1.把某个数m除以某个质数p——当然p必须能整除这个数,即 ...

  7. 恒天云技术分享系列3 – KVM性能调优

    恒天云技术分享:http://www.hengtianyun.com/download-show-id-11.html KVM是什么 KVM 是 kernel-based Virtual Machin ...

  8. 10 steps to get Ruby on Rails running on Windows with IIS FastCGI- 摘自网络

    Since the original tech preview release of FastCGI last year, we've been seeing a lot of requests fo ...

  9. Codeforces Round #138 (Div. 2) ACBDE

    A.Parallelepiped 题意:给一个六面体三面的面积,求12条边的长度和. 题解:因为都是整数,设边长分别为a,b,c,面积为xyz,那么可设x=a*b,y=b*c,z=c*a,简单解方程就 ...

  10. Linux时间同步方式记录

    Linux时间同步 部署Hadoop集群,遇到各个linux服务器的时间不同步的问题,于是研究了一下linux的时间同步方式,特将同步方式,总结如下: A. 前提条件 a)         网络是连通 ...