|
创建数据组
group by 分组
select deptno,avg(sal) from emp group by deptno;
分组求平均数
- 多列分组
select deptno,avg(sal),job from emp group by deptno,job;
- HAVING子句限定组结果
select deptno,max(sal) from emp group by hacing max(sal)>=3000;
- 使用联接显示多个表的数据
使用outer 联接查询通常不满足联接条件的数据
生成两个或多个表中所有行的笛卡尔积
- 联接类型
自然链接
natural join 子句
using 子句
outer链接(外链接)
left outer join
right outer join
full outer join
交叉链接
- 创建自然链接
natural join 子句以两个表中具有相同名称的所有列为基础
它从两个表中选择在所有匹列中具有相同值得哪些行
如果名称相同的列具有不同的数据类型,则返回一个错误
- select deptno from dept natural join emp
两个查询内容一样则显示公有值
- 使用using语句创建链接
如果多个列具有相同的名称,但数据类型不匹配,请使用using子句指定等值联接的列
当有多个列想匹配时,使用using 子句可仅与一列相匹配
natural loin 和using 语句是互相排斥的。
- select ename,deptno feom emp join dept using(deptno);
- 在using子句中使用表别名
不要对using 子句中使用的列加以限定
如果在sql语句的另一个位置使用了同一列,则不要对其设置别名
- 使用ON子句创建链接
自然联接的基本联接条件是对具有相同名称的所有列进行等值链接
使用ON子句可指定任意条件或指定要联接的列
联动条件独立于其他搜索条件
使用ON子句可以代码易于理解 inner联接与outer联接 在sql:1999中,如果两个表的联接只返回相匹配的行,则称联接inner
两个表直接的联接不仅返回inner联接的结果,还返回左(或右)表中不匹配的行,则称为该联接为左(或右)outer链接
两个表之间的联接不仅返回inner链接的结果,还返回左和右联接的结果,则称该链接为完全outer联接
- 子查询
先执行子查询(内部查询),再执行主查询(外部查询)主查询会使用子查询的结果
- 当行子查询
仅返回一行
运算符 |
含义 |
|
=
等于
>
大于
>=
大于等于
<
小于
<=
小于等于
<>
不等于
数据操纵语句
DML语句
增删改查
- 增加 insert into
- 修改 update 必须要跟条件
- 删除行 delete 必须要跟条件
delet from (表) where=(条件)
DDL语句
数据库事务处理由于以下语句组成
用于对数据进行一次一致更改的DML语句
一条DDL语句一条数据控制语句(DCL)语句
在执行第一条DML SQL 语句时开始
在发生下列事件之一时结束:
发出COMMIT或ROLLDACK语句
执行DDL或DCL语句(自动提交)
用户推出SAQL Developer或SQL*Plus 系统崩溃
使用commit和rolldack提交、回滚
确保数据的一致性
数据库事务处理
使用savepoint (a) 语句可在当前事务处理中创建一个标记
使用rollback to savepoint 语句可以回退到该标记
先还原B 在还原A
如先还原A则B也消失
执行COMMIT之后的数据状态
数据更改已保存在数据库中
已改写以前的数据状态
搜游用户都可以查询看的结果
受影响行上的锁已被释放、其他用户可以进行处理
搜游保存都被清除
执行ROLLBACK操作之后的数据状态
数据已还原到以前状态
受影响行上的锁一杯释放
delete from copy_emp;
rollback;
(编辑:安卓应用网_ASP源码网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!