一、Oracle简介

Oracle Database,又名Oracle RDBMS,简称Oracle。是甲骨文公司推出的一款关系数据库管理系统。

Oracle数据库系统是目前世界上流行的关系数据库管理系统,拥有可移植性好、使用方便、功能强等优点,在各类大、中、小、微机环境中都适用。

Oracle是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。

Oracle数据库会创建一个表空间,再创建用户,用户去创建表。

二、基础查询

2.1 select

select * from emp;

结果如下:

其中oracle提供了一个虚表dual用来补全语法结构。

select * from dual;

只有一行一列

select 1+1 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;


可以看出以上两列数据均有重复

去重后:

select distinct job, deptno from emp;


2.3 查询&四则运算

  • 查询年薪

使用四则运算

select sal*12 年薪 from emp;

  • 查询年薪加奖金

结果有些问题,因为部分数据COMM为null

select sal*12 + comm "年薪(含奖金)" from emp;

使用nvl函数解决:如果参数1为null,则返回参数2

select sal*12 + nvl(comm,0) "年薪(含奖金)" from emp;

  • 查询员工姓名(格式–姓名:xxx)

使用 || 拼接字符串

使用的值(字符)使用单引号

   select '姓名:' || ename 姓名 from emp;


也可以使用以下语句,同Mysql语法

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 ('FORD','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%';

匹配ename中第三个字母为R的姓名

3.4 排序查询

  • 升序

使用asc关键字

select * from emp order by comm desc nulls last;

  • 降序

使用desc关键字,省略实例

  • 多列排序

使用逗号隔开多列排序要求

select * from emp order by deptno asc, sal desc;

四、函数

  • 多行函数

对某一列的所有行进行处理操作,如max / min /count/ sum / avg

直接忽略null值进行处理

select sum(comm) from emp;

  • 单行函数

对行中的某个值进行处理

数值函数

select ceil(sum(comm)/count(ename)) from emp;


字符函数

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;


通用函数

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


分组查询

select deptno,avg(sal) from emp group by deptno;

Oracle教程(一)--基础操作相关推荐

  1. Oracle数据库第二课2——PLSQL Developer使用教程及基础操作。

    PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发.如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server.因此,PL/SQL编程也成了整个 ...

  2. 物体识别,Win7下运行TensorFlow Object Detection API详细版教程(零基础操作)

    这段时间在做三维重建,为了达到更好的重建效果,想在三维重建的工作开始前增加物体识别这一功能,以便针对特定的物体进行相应的优化,国内也不乏有众多公司在做通用图片识别,诸如:旷世,商汤,百度,图普等,这里 ...

  3. Bamboo入门教程及基础操作

    买Bamboo上CSDN,特殊折扣购买通道:http://bss.csdn.net/module/btc/atlassian/prduct_detail?project=445&module= ...

  4. Oracle 11g 数据库基础教程

    Oracle 11g 数据库基础教程 课堂笔记 系统服务 操作系统通过服务来管理安装好的Oracle 11g数据库产品的运行 在运行Oracle数据库前,要检查数据库服务有没有启动好 开始»控制面板» ...

  5. 计算机基础操作与应用实训教程,计算机应用基础实训教程の第 3 章 Word 2003 基本操作.pdf...

    计算机应用基础实训教程の第 3 章 Word 2003 基本操作.pdf (37页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 第 3 章 ...

  6. java jdbc 教程_java JDBC系列教程之JDBC类的简析与JDBC的基础操作

    什么是JDBC? 概念:JAVA Database Connectivity Javas数据库连接,Java语言操作数据库接口,然后由各个数据库厂商去实现这个接口,提供数据库驱动java包,我们可以使 ...

  7. SQL基础操作_3_数据字典(涵盖SQL Server、Oracle、Mysql常见系统数据字典)

    目录 数据库元数据查询 7.5.1 列出模式中所有的表 7.5.2 列出所有的数据库 7.5.3 列出给定表的基本信息 7.5.4 列出给定表的索引信息 7.5.5 列出给定表的主键.外键约束 7.5 ...

  8. gis导出栅格数据为什么不能tif_GIS基础操作教程(3)--点数据操作【附带练习数据】...

    又到了专栏更新的时候了,接下来的几期专栏我会系统性的讲一讲GIS的基础操作.在几个月前专栏里我分享过栅格数据的平移.裁剪.镶嵌(需要的同学可以点进专栏看一看),FLOW MAP的专题制作.这期文章我想 ...

  9. ArcGIS Pro 简明教程(2)基础操作和简单制图

    ArcGIS Pro 简明教程(2)基础操作和简单制图 By 李远祥 本章主要介绍ArcGIS Pro如何加载数据并进行简单的地图制作,以基本的操作为主. 上一章节介绍过,ArcGIS Pro是可以直 ...

  10. php文件目录教程,详谈PHP文件目录基础操作_PHP教程

    详谈PHP文件目录基础操作 我们知道,临时声明的变量是保存在内存中的,即便是静态变量,在脚本运行完毕后也会被释放掉,so,想长久保存一个变量的内容,方法之一就是写到文件中,放到硬盘或服务器上,为此文件 ...

最新文章

  1. P1967 货车运输
  2. 前后端分离开发模式下后端质量的保证 —— 单元测试
  3. python离线安装包_Python2.7如何离线安装包
  4. android 自定义表单,Android实现Ant Design 自定义表单组件
  5. date javascript 时区_第23节 Datejs 日期库-Web前端开发之Javascript-零点程序员-王唯
  6. 锁屏壁纸开发 Android,Android开发自己的锁屏壁纸
  7. 详解WINCE的控制面板
  8. touchesEnded不响应
  9. 3.Java 面试题整理(线程篇)
  10. uva861 Little Bishops
  11. Android IPC 结篇
  12. 证明二叉树节点数公式
  13. spring-AspectJ异常通知
  14. Solaris 10 的基本操作
  15. 网页编码_Python获取网页编码(apparent_encoding)
  16. vue uniapp如何实现横向滚动周历,横向滚动一周日历
  17. 毕业论文如何设置页码连续编页,页眉奇偶页不同?
  18. PS如何用制作BMP 256位色非压缩图片,供Easyboot作为背景
  19. UG二次开发GRIP总结简明教程
  20. cygwin解压linux软件,如何在Cygwin上安装unzip | 望天博客

热门文章

  1. 【入门模拟】形状与转换
  2. 大力飞砖之暴力解法(上)
  3. Dump文件的生成和使用
  4. 服务器2003系统安装office,打造完美Office 2003办公系统安装光盘(2)
  5. 安卓 sqlite数据存入mysql_详解Android数据存储—使用SQLite数据库
  6. GridView获取隐藏boundField的值
  7. 鸡尾酒宴会问题---ICA独立成分分析[原创]
  8. SpringBoot - 获取Get请求参数详解
  9. java 地铁二号线站编号和站名的练习
  10. localtime()函数基础使用