Oracle总结
Oracle
一、数据库语言:
DCL:数据库控制语言(如事务...)
DQL:数据库查询语言(select...)
DDL:数据库定义语言(create)
DML:数据库操作语言(更新....)
二、Oracle版本:
Oracle8I i:互联网
Oracle10g g:网格:把复杂的问题分布处理,最后把结果综合成最总结果
把复杂的问题分布处理,最后把结果综合成最总结果
三、什么叫多表查询?
一张以上的表进行查询。
4、什么是笛卡尔积?如何去除笛卡尔积。
多表查询再查询时回产生两表数据相乘的现象,
可以通过关联条件消除。
5、统计函数一共有哪些?
COUNT、MAX、MIN、SUM、AVG
Where语句中不可以使用统计函数
6、排序关键字、分组关键字、分组条件关键字
ORDER BY、GROUP BY、HAVING
7、什么叫子查询?
在一个查询语句中包含另一个查询语句
8、Oracle中复制表的语法是什么?
CREATE TABLE 表名 AS SELECT 语句(只限oracle)
9、事务处理的功能?
保证一个单元的所有语句,要么全成功,要么全失败。
10、事务处理中的关键字有哪些?
A、提交事务Commit
B、回滚事务Rollback
C、设置点SAVEPOINT
二、语法练习
1、查询出至少有一个员工的部门编号
Having Count(empno)>=1
Select deptno
from emp
Group by deptno
Having count(empno)>=1
分析:先将数据进行分组,然后计算员工总数形成条件。
A、需要分组,
B、需要用分组条件Having
动动脑:
Deptno total
10 8
20 3
30 3
40 0 格式的。
Select d.deptno,count(e.empno) total
from dept d,emp e
Where e.deptno(+) =d.deptno
Group by
d.deptno;
Oracle 中连接查询,左 右(只限Oracle)
SQL标准 左连接与右连接 语法:
Left JoIn on 条件
RIGHT JOIN on 条件:
Select d.deptno,count(e.empno) total
from dept d left join emp e
on e.deptno =d.deptno
Group by
d.deptno;
2、查询出至少有一个员工的部门全部信息,
相关文档:
下载方法:在下面的连接上点击右键,选择使用迅雷下载。使用别的下载工具无法下载。
oracle 10.2.0.4 补丁下载(适用于所有操作系统):
ftp://updates.oracle.com/6810189/p6810189_10204_AIX5L.zip
ftp://updates.oracle.com/6810189/p6810189_10204_HPUX-IA64.zip
ftp://updates.oracle.com/6810189/p6810189_10204 ......
/*
--DML触发器类型:
分为语句级触发器和行级触发器.
语句级触发器不需要加for each row关键字,并且不能使用:new 和 :old关键字.对整个sql语句只执行一次触发器.
行级触发器需要加for each row关键字,可以使用:new和:old关键字,对整个sql语句影响到的每一行都执行一次触发器.
--:new和:old关键字总结
:new指的是当前D ......
今天总结下oracle的任务队列管理器(job queue ),以后也方便查询.
我们要做定时任务时,有两种办法
一种是: 操作系统的定时,win的定时任务,unix的crontab
一种是: 数据库级的定时,她的效率更高,
再有大量的表级操作时,建议用数据库本身的job queue,这样方便,效率高;如果用系统级定时,
会增加很多编程工作,成本增加 ......
SQL> DESC TEST 测试表: Name Type Nullable Default Comments
---- ------------ ......
在一个表中,其中几个字段的值是一样的,按照这几个字段进行分组并合并数据。
表A id name role
1 张三 &nb ......