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. 黑盒测试用例设计方法&理论结合实际 -> 等价类划分

    一. 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 二. 等价类划分的应用 等价类 ...

  2. 把之前写的几个项目放到了github上

    之前有的源码放在我的电脑里不知道什么时候就没了,满满都是回忆啊,怪可惜的. https://github.com/redclock/Adv-Game:一个java游戏 https://github.c ...

  3. bzoj 3122 [Sdoi2013]随机数生成器(逆元,BSGS)

    Description Input 输入含有多组数据,第一行一个正整数T,表示这个测试点内的数据组数.    接下来T行,每行有五个整数p,a,b,X1,t,表示一组数据.保证X1和t都是合法的页码. ...

  4. NOIP 2014 无线网络发射器选址

    水题..直接暴力 #include<cstdio> #include<algorithm> using namespace std; const int inf = 0x3f3 ...

  5. android-serialport-api and libusb for android

    libusb for android: Even if you get it compiled, Android is probably not going to let you access the ...

  6. decorview that was originally added here or java.lang.IllegalArgumentException: View not attached to window manager

    使用Dialog的时候,没少出现下面这两个报错 12-11 17:47:49.776: E/WindowManager(11461): android.view.WindowLeaked: Activ ...

  7. SQL2008-表对表直接复制数据

    1.全部复制,使用简单,但是字段容易出错(字段和顺序必须相同)  INSERT INTO AAAStuffAgitationYield SELECT * FROM StuffAgitationYiel ...

  8. [C++]VS与第三方工具下载

    名称:Qt 5.1.1 (商业版与开放源码许可GPL/LGPL) 说明:Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架 下载:http://www.qt.io/downl ...

  9. Altium Designer快捷键 【worldsing笔记】

    Shift + R 切换三种布线模式 (忽略, 避开或推挤) Shift + E 触发电气格点开/关 Shift + B 建立查询 Shift + PgUp 放大到最小的递增 Shift + PgDn ...

  10. jQuery plugin : jqTransform

    Usage 1- Add javascript inclusion in the header section of your web page //required <script type= ...