Oracle简介
Oracle Database,又名Oracle RDBMS,简称Oracle。是甲骨文公司推出的一款关系数据库管理系统。
Oracle数据库系统是目前世界上流行的关系数据库管理系统,拥有可移植性好、使用方便、功能强等优点,在各类大、中、小、微机环境中都适用。
Oracle是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。
Oracle数据库会创建一个表空间,再创建用户,用户去创建表。
二、基础查询
2.1 select
Oracle提供了一个虚表dual用来补全语法结构
1:select*from dual;
2.1.1别名查询
使用as关键字,可以省略。别名中不能设置关键字或特殊符号,如果必须有则别名需加双引号
:select ename 姓名,sal 工资 from emp;
2.2 去除重复数据
2.2.1 单列去重
使用distinct关键字
:select distinct job from emp;
2.2.2 多列去重
多列去重前
:select job,deptno from emp;
2.3 查询&四则运算
四则运算
//查询年薪:月工资*12
:select sal*12 年薪 from emp;
//查询年薪加奖金:结果有些问题,因为部分数据COMM为null
select sal*12 + comm "年薪(含奖金)" from emp;
//解决:使用nvl函数解决:如果参数为null,则返回参数2
select sal*sal + nvl(comm,0) "年薪(含奖金)" from emp;
//查询员工姓名(格式-姓名:xxx):使用 || 拼接字符串 使用的值(字符)使用单引号
select '姓名:' || ename 姓名 from emp;等同于:
select concat('姓名:',ename) 姓名 from emp;
条件查询
3.1其他条件运算符
//查询有奖金的员工
//其他运算符: is not null / is null /in(set)/ //between…and…/like
select*from emp where comm is not null;
//查询名单中的员工:使用关键字in
select*from emp where ename in
('FORO','BLAKE','ALLEN');
//
3.2 关系运算符
//介于1500至2500薪资间的员工:关系运算符:
> / >= / = / <= / < / !=
select*from emp where sal >=1500 and sal <=2500;
3.3 模糊查询
//匹配多个字符&匹配单个字符:使用like关键字,%匹配多个字符,_匹配单个字符
select*from emp where ename like '_R%';
排序查询
//升序:使用asc关键字
select*from emp order by comm desc nulls last;
//降序:使用desc关键字,省略实例
select*from emp order by comm desc nulls last;
//多列排序:使用逗号隔开多列排序要求
select*from emp order by deptno asc,sal desc;
函数
//多行函数:对某一列的所有行进行处理操作,如max / min /count/ sum / avg
:直接忽略null值进行处理
select sum(comm) from emp;
//单行函数:对行中的某个值进行处理
1,数值函数
selcet cell(sum(comm)/count(ename)) from emp;
2,字符函数
select substr('helloworld',0,5) from dual;
select length('helloworld') from dual;
//日期函数
select sysdate from dual;
select months_between(sysdate,hiredate)/12 from emp;
//日期&字符转换
--数值转字符
select to_char(sal,'$9999,99') from emp;
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;
//通用函数
--如果参数1=null,就返回参数3,否则返回参数2
select nvl2(null,5,6) from dual;