oracle数据操纵语言(DML)data manipulation language
数据库操纵语言(DML)用于查询和操纵模式对象中的数据,它不隐式地提交当前事务。
SELECT
INSERT
UPDATE
DELETE
CALL
EXPLAIN PLAN
LOCK TABLE
MERGE
使用算术操作符(在数值型数据上使用
SELECT ename, sal, sal+300 FROM emp;
NULL值:NULL是一个值,它和“0”、“空白”不一样。
插入图片

定义列的别名:给列表达式提供一个不同的名字,该别名在列标题中使用。如果别名中包含空格或特定的字符或需要区分大小写时,需要使用双引号。
SELECT ename AS name, sal salary FROM emp;
SELECT ename "Name", sal*12 "Annual Salary" FROM emp;[添加了引号,看清楚了]
连接符(||):将两个串结合在一起,两个串可以是列名或直接量

使用DISTINCT关键字消除所选择的重复行,只返回一行。
SELECT DISTINCT deptno FROM emp;

条件(WHERE):比较符
SELECT ename, sal
2 FROM emp
3 WHERE sal BETWEEN 1000 AND 1500;
SELECT empno, ename, sal, mgr
2 FROM emp
3 WHERE mgr IN (7902, 7566, 7788);
条件(WHERE):比较符,LIKE用例。Oracle支持两种匹配符号:「 % 」 和「 _ 」 ,符号「 % 」可匹配0个或 多个字符 ,符号「 _ 」可匹配任何单一字符 。 
条件(WHERE):逻辑操作符 [and or not]

排序(ORDER BY子句):使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定.
ASC:从小到大排序(default)
DESC:从大到小排序
ORDER BY子句在SELECT语句的最后
SELECT ename,job,deptno,hiredate
2 FROM emp
3 ORDER BY hiredate DESC;




数值函数

日期类型:
Oracle是用数字来存储日期信息,数字的整数部分代表与Julian Calendar(罗马儒略历,公历)相距的天数 (由公元前4712年1月1日开始),而小数部分代表时、分和秒。
Oracle默认日期格式:DD-MON-YY
SYSDATE函数返回系统当前的日期和时间。
DUAL是Oracle内置的虚拟表,只有一行一列。
日期运算:不允许日期加日期
日期函数:
数据转换

转换函数:隐式转换
在赋值时,Oracle服务器能够进行自动转换的数据类型列表

显示转换

函数TO_CHAR
TO_CHAR(date, 'format_model')

SELECT ename,
2 TO_CHAR(hiredate, 'fmDD Month YYYY') HIREDATE
3 FROM emp;
ENAME HIREDATE
---------- -----------------
KING 17 November 1981
BLAKE 1 May 1981
CLARK 9 June 1981
JONES 2 April 1981
MARTIN 28 September 1981
ALLEN 20 February 1981


SELECT Ename,TO_CHAR(hiredate,'DD-Mon-YYYY')
FROM emp
WHERE hiredate < TO_DATE('01-01-90','DD-MM-RR');

空值置换函数:如果表达式不为NULL,函数就返回该表达式的值。如果位空,就返回用来替换的值
NVL (expr1, expr2)
NVL2 (expr1, expr2, expr3)
函数可以使用date, character, 和number数据类型。
表达式的值和替换值类型必须匹配:
NVL(comm,0)
NVL(hiredate,'01-JAN-97')
NVL(job,'No Job Yet')
条件表达式: CASE表达式
SELECT ename, job, sal,
CASE job WHEN 'ANALYST' THEN 1.10*sal
WHEN 'CLERK' THEN 1.15*sal
WHEN 'SALESMAN' THEN 1.20*sal
ELSE sal END REVISED_SALARY
FROM emp;
条件表达式: DECODE函数
SELECT ename, job, sal,
DECODE(job, 'ANALYST', 1.10*sal,
'CLERK', 1.15*sal,
'SALESMAN', 1.20*sal,
sal)
REVISED_SALARY
FROM emp;

函数的嵌套:单行函数能够在任何一个层次嵌套。
连接:
连接是将二个或多个表、视图或快照的行合并,每一返回行包含来自多个表的数据。每当在FROM子句中出现多表时ORACLE需要执行连接,WHERE子句决定如何连接。
在连接表时,应尽量避免迪卡尔乘积(Cartesian)。
如:SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.column1 = table2.column2;

连接:使用表的别名
SELECT e.empno, e.ename, e.deptno,
2 d.deptno, d.loc
3 FROM emp e, dept d
4 WHERE e.deptno=d.deptno;
连接:外连接(Outer Joins) —是对简单联接的扩充,它返回简单联接所返回的全部行,而且还返回一表中不与另一表的行相匹配的行。
外连接操作符时(+)加号(表示在该表中加入一个空行来与没有直接匹配行的数据进行匹配)
SQL> SELECT e.ename, d.deptno, d.dname
2 FROM emp e, dept d
3 WHERE e.deptno(+) = d.deptno
4 ORDER BY e.deptno;

自连接

SELECT worker.ename||' works for '||manager.ename
2 FROM emp worker, emp manager
3 WHERE worker.mgr = manager.empno;
WORKER.ENAME||'WORKSFOR'||MANAG
-------------------------------
BLAKE works for KING
CLARK works for KING
JONES works for KING
MARTIN works for BLAKE
...
13 rows selected.
连接:递归查询(树查询)。应用举例:(只提一下下)
SELECT lpad(ename,length(ename)+(level-1)*3,'-') employee,level
FROM emp
START WITH ename = 'KING'
CONNECT BY PRIOR empno = mgr;

集合操作符:将两个查询结果合成单个结果。
UNION(并) :返回查询选择的全部不同行。
UNION ALL (并) :返回查询选择的全部行,包括全部重复。
INTERSECT(交):返回两个查询同时选择的全部不同行。
MINUS(差):返回由第一个查询选择的而且不属于第二个查询选择的全部不同行。
oracle数据操纵语言(DML)data manipulation language的更多相关文章
- oracle数据操纵语言(DML)data manipulation language(续集)
SQL查询语句(SELECT)进阶分组函数(Group Functions):对多行进行操作,并为每一组给出一个结果. AVG([DISTINCT|ALL] expression) 平均值COUNT ...
- 数据库原理及应用-SQL数据操纵语言(Data Manipulation Language)和嵌入式SQL&存储过程
2018-02-19 18:03:54 一.数据操纵语言(Data Manipulation Language) 数据操纵语言是指插入,删除和更新语言. 二.视图(View) 数据库三级模式,两级映射 ...
- Hive 6、Hive DML(Data Manipulation Language)
DML主要是对Hive 表中的数据进行操作的(增 删 改),但是由于Hadoop的特性,所以单条的修改.删除,其性能会非常的低所以不支持进行级操作: 主要说明一下最常用的批量插入数据较为常用的方法: ...
- (让你提前知道软件开发33):数据操纵语言(DML)
文章2部分 数据库SQL语言 数据操纵语言(DML) 数据操纵语言(Data Manipulation Language,DML)包含insert.delete和update语句,用于增.删.改数据. ...
- MySQL之数据操纵语言(DML)
数据操纵语言(DML) 数据操纵语(Data Manipulation Language),简称DML. DML主要有四个常用功能. 增 删 改 查 insert delete update sele ...
- 【转】Hive Data Manipulation Language
Hive Data Manipulation Language Hive Data Manipulation Language Loading files into tables Syntax Syn ...
- 30442数据操纵语言DML
5.5 SQL的数据操纵功能 5.5.1 数据插入 使用CREATE语句创建的数据表还只是一个“空壳”,表中没有任何数据.利用SQL语言提供的INSERT语句可以完成向数据表插入数据的任务. INSE ...
- 【MySQL笔记】数据操纵语言DML
1.数据插入 INSERT INTO table_name (列1, 列2,...) VALUES(值1, 值2,....),(第二条),(第三条)... 注: 1)如果表中的每一列均有数据插 ...
- mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)
0x01 创建数据库并指定字符集和排序规则 -- 三种实例写法 create database temptab2 character set utf8 collate utf8_general_ci; ...
随机推荐
- CCD摄像机与CMOS摄像机区别
CCD摄像机 什么是CCD摄像机? CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件,因而具有灵敏度高.抗强光.畸变小.体积小.寿命长.抗震动等优点. ...
- 解决sqlserver使用IP无法连接的问题,用localhost或者‘“.”可以连接
今天装了一个mssql发现用ip无法连接但是用localhost和“.”却可以连接,纠结了一天终于找到了问题的解决办法: 打开mssql配置管理器(我点电脑---->右键选择管理--->服 ...
- maven profile动态选择配置文件
一.背景 在开发过程中,我们的软件会面对不同的运行环境,比如开发环境.测试环境.生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配 ...
- leetcode:Path Sum (路径之和) 【面试算法题】
题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up ...
- Windows7部署WordPress傻瓜式教程(IIS7.5+MySQL+PHP+WordPress)
http://www.cnblogs.com/vengen/archive/2010/01/01/WordPressInstall.html
- 查看大图 zoomImage
添加引用 <link rel="stylesheet" media="screen" type="text/css" href=&qu ...
- C:数组
数组.排序 关于排序 :参考 关于数组: 参考 求a[i][j]行与列的和然后求平均值 参考 二维数组使用指针的表示方法 参考 字符串数组:char name [5][20] ={ {} , {} ...
- spring AOP Bean添加新方法
目的:为studentAdditionalDetails中添加Student的showDetails()和ExtraShowDetails()两个方法 spring 中AOP能够为现有的方法添加额外 ...
- 编写 Window 服务程序
编写 Window 服务程序 一.直观认识Windows服务. 打开Windows“控制面板/管理工具/服务”,系统显示Windows服务列表. ...
- 使用UILocalizedIndexedCollation实现区域索引排序 及 不显示没有数据的区域
UILocalizedIndexedCollation可以实现区域排序,类似通讯录的样式. //首先进行初始化 locationCollation = [UILocalizedIndexedColla ...