Oracle笔记1
ORACLE:
目前分为12C(cloud云)和11G(grid网格)版本
--数据库基本概念
data--数据
database--数据库
DBMS--数据库管理系统
RDBMS--关系型数据库管理系统
ORDBMS--对象关系型数据库管理系统 --SQL概述
SQL(Structured query language)结构化查询语言 --SQL 分类
SELECT --数据库查询语句DQL
INSERT DELETE UPDATE MERGE--数据库操作语句DML
CREATE ALTER DROP TRUNCATE RENAME COMMENT--数据库定义语句DDL
COMMIT ROLLBACK SAVEPOINT--事物控制语句TCL --OracloraDb11g_home1INSListener这个是网络监听器的服务,开始才能通过外部访问。
--OrcalService ORCL:数据库实例服务 --比较运算符: >,>=,<,<=,=,<>,!=,^=
--特殊运算符:[not]between...end
[not] like
[not] in
is [not] null
--多条件使用:and or not 连接 /*--单行函数练习
查询与表无关 FROM 后面是 dual*/
--转小写,大写,单词首字母大写
select lower('Hello'),upper('Hello'),initcap('Hello evan')
from dual;
-------------------------------------------字符串
--去掉指定字符(去全部,去左边字符,去右边字符)
select TRIM('H'FROM 'HELLOHH'), ltrim('helloh','h'), rtrim('helloh','h') FROM dual; --补齐(参数解释:数值,几位数,不够用什么补)输出:*100和100*
select lpad(100,4,'*'),rpad(100,4,'*')
from dual; --查找位置,相当于indexOf,ORCALE的索引从1开始返回7
select instr('hello tom','tom') from dual; --substr()//返回llo,ll
select substr('hello',3), substr('hello', 3, 2)
from dual; --连接字符,和求长度
select concat('hello','evan'),length('abc')
from dual; --替换
select replace('hello','h','a')
from dual;
--------------------------------------------number
--四舍五入[小数点后保留几位小数][小数点前保留几位]
select round(123.456,2),round(123.456,-2),round(123.45,0), round(123.45)
from dual; --去尾数 不进行四舍五入
select trunc(12.456,2),trunc(12.456,-2),trunc(12.456,0),trunc(12.456)
from dual; --取模(求余数)
select mod(13,2) from dual; ----------------------------------------date
--获取当前日期 +2代表加两天或者-2
select sysdate +2 from dual;
--加月份
select add_months(sysdate,3) from dual;
--月份范围
select months_between(sysdate, hiredate)from emp;
--获取当前月份的最后一天
select last_day(sysdate)from dual;
--获取年月日year,month,day
select extract(day from sysdate)
FROM dual;
--计算天数差
select round(to_number(TO_DATE('2015-07-24','YYYY-MM-DD')-TO_DATE('2015-07-23','YYYY-MM-DD')))from dual;
--计算小时差
select round(to_number(TO_DATE('2015-07-24','YYYY-MM-DD')-TO_DATE('2015-07-23','YYYY-MM-DD'))*24)from dual; ------------------------------------转换函数
--to_char:将日期或数值按指定格式转换成字符
select to_char(sysdate,'yyyy-mm-dd HH24:MI:ss DAY')from dual;--hh:mi:ss day星期几
select to_char(123456)from dual;
select to_char(105,'L9,999,999.00')from dual;--¥105.00 --to_date:将指定格式的字符串转换为日期
SELECT TO_DATE('1998-09-02','YYYY-MM-DD')FROM DUAL; --to_number:字符串转换成数值
SELECT TO_NUMBER('123')FROM DUAL; ----------对空值的转换,comm列中空的用0代替
select ename,nvl(comm,0)from emp;
-------val2:[comm数据列,不为空用0,为空用1]
select ename,comm,nvl2(comm,0,1)from emp;
----nullif(列名,为空用什么代替) ---------------------------------分支判断
---case练习
select ename, deptno, sal,
case
when deptno=10 then sal+10
when deptno=20 then sal+20
else sal end as addsal
from emp; ---decode
select ename, deptno, sal,
decode(deptno,
10,sal+10,
20,sal+20,
30,sal+30,
sal)
from emp; ---------------------------集合函数
--max,min,count,sum,avg
select MAX(hiredate), MIN(hiredate),MAX(sal), MIN(sal)
from emp;
select count(*)from emp;
------------分组
--group by 将查询结果按指定列分组
--having 指定分组必须要满足的条件
--非分组列必须包含在group by 中
select deptno,max(sal),min(sal)
from emp group by deptno having deptno in (10,20);
Oracle笔记1的更多相关文章
- Oracle笔记 目录索引
Oracle笔记 一.oracle的安装.sqlplus的使用 Oracle笔记 二.常用dba命令行 Oracle笔记 三.function .select Oracle笔记 四.增删改.事务 Or ...
- Oracle笔记(1) 简单查询、限定查询、数据的排序
Oracle笔记(四) 简单查询.限定查询.数据的排序 一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及 ...
- 韩顺平Oracle笔记
韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring 目录(?)[-] ...
- Oracle笔记 多表查询
Oracle笔记 多表查询 本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查 ...
- 转:oracle笔记
oracle笔记1 卸载oracle developer server的方法: 1-1 oracle卸载工具中卸载对应的oracleds项目:在注册表中搜索ORACLEDS HOME对应的别名,删除对 ...
- Oracle笔记(六) 多表查询
最近看了李兴华的oracle视频,这是网上别人做的笔记非常细致,分享给大家,第六篇 原创地址:http://www.cnblogs.com/mchina/archive/2012/09/07/2651 ...
- Oracle笔记二
一.数据库语言分类 二.DML之数据插入 把一个表中的数据查询出来插入另外一个表中. create table student(id number,name varchar2(20),age num ...
- oracle笔记一
一.Oracle简介 1.Oracle属于关系型数据库,是一款可以在Client/Server模式下运行的RDBMS产品.2009年,Oracle公司收购SUN. 2.Oracle是对象关系型数据库管 ...
- oracle笔记
一.sql*plus常用命令 (1)connect 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper] 当特权用户连接时,必须带上as sysdba或是as sysoper ...
- Oracle笔记3-高级查询
高级查询 1.关联查询 作用:可以跨多表查询 --查询出员工的名字和他所在部门的名字 //错误//select first_name,name from s_emp,s_dept; //错误原因:产生 ...
随机推荐
- [VirtualBox] Install Ubuntu 14.10 error 5 Input/output error
After you download the VirtualBox install package and install it (just defualt setting). Then you sh ...
- android学习日记15--WebView(网络视图)
一.WebView 1.简述 WebView(网络视图)内置WebKit引擎,能加载显示网页,还支持JS,并且能够在Android平台使用AJAXWebView可以在布局中声明,也可以在Activit ...
- Jordan Lecture Note-4: Linear & Ridge Regression
Linear & Ridge Regression 对于$n$个数据$\{(x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n)\},x_i\in\mathbb{R}^d,y ...
- 实例源码--Android日历实例源码
下载源码 技术要点: 1.Android基础控件的使用 2.Android应用开发基础框架 3.源码带有非常详细的中文 注释 ...... 详细介绍: 1. Android应用开 发技术 此套 ...
- js中点击事件方法三种方式的区别
在javascript中,可以为某个元素指定事件,指定的方式有以下三种: 1.在html中,使用onclick属性 2.在javascript中,使用onclick属性 (1)注意函数名没有双引号. ...
- appscan 安全漏洞修复办法
appscan 安全漏洞修复办法http://www.automationqa.com/forum.php?mod=viewthread&tid=3661&fromuid=21
- Linux操作系统的简单认识
1:Linux操作系统的历史 Linux操作系统是由unix操作系统发展而来的,但是Unix是收费的系统,而Linux操作系统的免费的,开源的,所以使用比较广泛,但是它是基于命令行的,不提供图形化用户 ...
- ckeditor
去掉编辑器的下边栏 在config.js中加入: config.removePlugins = 'elementspath'; config.resize_enabled = false; 就ok了 ...
- jQuery mouseover与mouseenter,mouseout与mouseleave的区别
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...
- scala中的call-by-name和call-by-value
http://www.jianshu.com/p/93eefcb61d4f val和def的区别 在scala中,可以用val和def前缀来定义变量,例如: val x = 1 def y = &qu ...