1.数据准备:

--创建表格的
create table dept as select * from scott.dept;
create table emp as select * from scott.emp;
select * from dept;--部门表
select * from emp;--员工表

2.新增语句

【语法1】
INSERT INTO table_name (column1,column2,...)  VALUES ( value1,value2, ...);
【示例1】
insert into emp (empno,ename) values(1111,'luke');

【语法2】
INSERT INTO <table_name> <SELECT 语句>;
【示例2】

--创建table_test 
create table test_table as select * from emp where 1=2;

--插入工资大于2000的员工数据
insert into test_table select * from emp where sal>2000;

3.更新语句

【语法1】
UPDATE table_name SET column1=new value,column2=new value,... WHERE <条件>;
【示例1】
update emp set sal=3000 where ename='KING';
更新前:
更新后:

 4.删除语句

--根据条件删除表数据,有个习惯就是delete执行时要注意是否需要加where判断语句。
--【示例1】删除员工号等于1111的员工

delete from emp e where 1=1 and e.empno = '1111';

--清空表数据(表还在),不写日志,省资源,效率高,属于数据定义语言
--先创建要清空数据的表
create table myemp as select * from emp;
--清空表数据,不删除表结构
truncate table myemp;
 
5.查询语句(重点,因为工作中这个用的最多)

5.1 dual 伪表,是一个虚拟表,只是一个为了构成select语法

--查询序列下一位值
select [序列名].nextval from dual;
--查询当前的用户
select user from dual;
--查询当前系统时间
select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;

5.2 rowid 伪列,是一个数据库里面的唯一的物理地址,是插入一条记录时创建的地址。同一条记录,在不同的查询里的地址是相同的。

select e.*,e.rowid from emp e where 1=1 and e.ename = 'KING';

5.3 rownum ,是一个逻辑次序号,查询的时候生产,每次查询都会不同,并不是真实存在的编号。从1开始

select rownum,e.* from emp e where 1=1 and e.sal > 2000.00 and rownum <3;

使用rownum实现查询分页:

5.4 等值查询

select * from emp e,dept d where 1=1 and 

e.deptno = d.deptno;

5.5 左外/右外连接查询

select e.empno,e.deptno,d.deptno,d.dname from emp e left join dept d
on e.deptno = d.deptno
where 1=1 and e.sal > 2000;

5.6 分组查询

【示例1】

--查每个部门的平均工资
select d.deptno,d.dname,avg(e.sal) from emp e,dept d
where 1=1 and e.deptno = d.deptno
group by d.deptno,d.dname;

【示例2】

----查询平均工资大于2000的部门,并按照平均工资降序排序
select d.deptno,d.dname,avg(e.sal) from emp e,dept d
where 1=1 and e.deptno = d.deptno
having avg(e.sal) > 2000
group by d.deptno,d.dname;

【示例3】

--查询除了20部门以外,平均工资大于2000的部门
select d.deptno,d.dname,avg(e.sal) from emp e,dept d
where 1=1 and e.deptno = d.deptno
and e.deptno <> 20
having avg(e.sal) > 2000
group by d.deptno,d.dname;

5.7 模糊查询 like

【示例】

--查询部门名称第三个字符为‘C’的部门信息

select * from dept d
where 1=1 and d.dname like '__C%';

5.8 子查询

【示例】

--where后面的子查询;查询工资比10号部门员工中任意一个员工的工资低的员工信息
select * from emp e
where 1=1 and e.sal <(
select min(sal) from emp where 1=1 and deptno = 10
)

以上只是一些总结,后续如果有新的内容,会继续补充进来。如果有发现sql有更优的查询,也欢迎和我交流。后续,我查找一下查用的查询联系题目作为巩固练习(附上答案)

Oracle基础篇--03DML语言的更多相关文章

  1. Oracle基础篇--00引言

    今天开始,复习oracle基础.主要是以前培训的时候的文档作为结构来梳理知识点,主要目的是把Oracle基础打的扎实点.后面要转做后台开发,或者工作中需要用到数据库知识时也不至于临时抱佛脚. 一直以来 ...

  2. Oracle基础篇--01数据库控制语言DCL

    数据库控制语言,是用户对数据的权限控制语言. 通过GRANT语句进行赋权,通过REVOKE撤回权限.数据库的权限包括2种,一种是数据库系统权限,一种是数据库对象权限.在控制语言里面,存在2个概念, 1 ...

  3. SQL必学必会笔记 —— 基础篇

    基础篇 SQL语言按照功能划分 DDL(DataDefinitionLanguage),也就是数据定义语言,它用来定义我们的数据库对象,包括 数据库.数据表和列.通过使用DDL,可以创建,删除和修改数 ...

  4. oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器

      PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语 ...

  5. oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器

    PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语言是 ...

  6. [原]Java修炼 之 基础篇(二)Java语言构成

    上次的博文中Java修炼 之 基础篇(一)Java语言特性我们介绍了一下Java语言的几个特性,今天我们介绍一下Java语言的构成.        所谓的Java构成,主要是指Java运行环境的组成, ...

  7. Oracle面试题(基础篇)

    1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...

  8. C语言读取写入CSV文件 [一]基础篇

    本系列文章目录 [一] 基础篇 [二] 进阶篇--写入CSV [三] 进阶篇--读取CSV 什么是CSV? CSV 是一种以纯文本形式存储的表格数据,具体介绍如下(来自维基百科): 逗号分隔值(Com ...

  9. 大数据系列博客之 --- 深入简出 Shell 脚本语言(基础篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

随机推荐

  1. 1.Basic Layouts

    使用过mfc编程,就知道控件需要自己拖放.当一个界面有很多小控件时,摆放这些控件特别麻烦. 但是qt编程中有布局(Layout),让系统来摆放控件.使整个控件有一致的外观和感觉,特别方便. 1.水平方 ...

  2. 用MODI OCR 21种语言

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.12.08更新:2012.07.09按照<MODI中的OCR模块>一文相关内容进行修订2012.07.0 ...

  3. (转)C# TextBox ReadOnly / Enabled 时,后台无法取值问题

    当页面上的某个TextBox 设置了属性ReadOnly = "True" 或 Enabled = "False" 时,在客户端为其赋值后,在后台代码中却无法获 ...

  4. UWP_开源小程序 水印添加器

    前几天写了一个确定水印位置的小博客.决定要写一个添加水印的UWP程序. 目前程序技术方面已经差不多了.所以提上日程

  5. ubuntu - 14.04,安装rpm程序!!

    一,安装rpm转deb的工具“alien”:在软件中心里面输入“alien”,看是否已经安装,如果没有安装则直接安装. 二,把rpm转换为deb:在shell里输入“sudo alien --scri ...

  6. 微信小程序小结(5) -- 常用语法

    在 pages 字段的第一个页面就是这个小程序的首页(打开小程序看到的第一个页面). Page生命周期 属性 类型 描述 onLoad Function 生命周期函数--监听页面加载.一个页面只会调用 ...

  7. IMP-00003: 遇到 ORACLE 错误 959 ORA-00959: 表空间 '' 不存在

    描述 在使用imp命令将dmp文件导入oracle中时,遇到如下错误: IMP: 遇到 ORACLE 错误 ORA: 表空间 'TBS_CDUSER' 不存在 IMP命令如下: IMP cduser/ ...

  8. Unity Fps示例

    https://mp.weixin.qq.com/s/JGnU6TW1V0BCrz0mCRswig

  9. jzoj4916. 【GDOI2017模拟12.9】完全背包问题 (背包+最短路)

    题面 题解 考场上蠢了--这么简单的东西都想不到-- 首先排序加去重. 先来考虑一下,形如 \[a_1x_1+a_2x_2+...a_nx_n=w,a_1<a_2<...<a_n,x ...

  10. sap alv 单元格行列邓颜色设定(记录一下网址,供下次使用)

    https://www.cnblogs.com/mingdashu/p/color_alv.html