oracle数据库 基础

Oracle简介

Oracle Database,又名Oracle RDBMS,简称Oracle。是甲骨文公司推出的一款关系数据库管理系统。
Oracle数据库系统是目前世界上流行的关系数据库管理系统,拥有可移植性好、使用方便、功能强等优点,在各类大、中、小、微机环境中都适用。
Oracle是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。
Oracle数据库会创建一个表空间,再创建用户,用户去创建表。

二、基础查询

表结构
oracle数据库 基础_第1张图片

2.1 select

Oracle提供了一个虚表dual用来补全语法结构
1:select*from dual;
oracle数据库 基础_第2张图片

2.1.1别名查询

使用as关键字,可以省略。别名中不能设置关键字或特殊符号,如果必须有则别名需加双引号
:select ename 姓名,sal 工资 from emp;
oracle数据库 基础_第3张图片

2.2 去除重复数据

2.2.1 单列去重

使用distinct关键字
:select distinct job from emp;
oracle数据库 基础_第4张图片

2.2.2 多列去重

多列去重前
:select job,deptno from emp;
oracle数据库 基础_第5张图片

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%';
oracle数据库 基础_第6张图片

排序查询

//升序:使用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;
oracle数据库 基础_第7张图片

//单行函数:对行中的某个值进行处理
1,数值函数
selcet cell(sum(comm)/count(ename)) from emp;
image.png

2,字符函数
select substr('helloworld',0,5) from dual;
oracle数据库 基础_第8张图片

select length('helloworld') from dual;
oracle数据库 基础_第9张图片

//日期函数
select sysdate from dual;
oracle数据库 基础_第10张图片

select months_between(sysdate,hiredate)/12 from emp;
oracle数据库 基础_第11张图片

//日期&字符转换
--数值转字符
select to_char(sal,'$9999,99') from emp;
oracle数据库 基础_第12张图片

select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;

//通用函数
--如果参数1=null,就返回参数3,否则返回参数2
select nvl2(null,5,6) from dual;

//分组查询
select deptno,avg(sal) from emp group by deptno;
oracle数据库 基础_第13张图片

你可能感兴趣的:(oracle)