聚合函数
min(),max(),count(),sum(),avg():
括号里放入你想求得列名
注意:对于聚合函数的筛选只能用having,不能使用where语句
分组语句group by
group分组时,要根据非聚合列进行分组
#筛选出最高工资高于4000的职位
SELECT job,MAX(sal) FROM emp
GROUP BY job
HAVING MAX(sal)>4000
进行筛选时,能使用where,尽量使用where语句,实在不行,在使用having语句
事务
原理:将一堆sql语句绑在一起,要不都执行成功,要不都失败
四大特性:
原子性:要不都执行,要不都不执行
一致性:保证事务前后数据是一致的
隔离性:事务并发执行,保证事务互不影响
持久性:对数据库的操作是永久的
隔离级别
读未提交:性能最好,数据库安全性差
读提交:Oracle的默认隔离级别-性能较好,安全性较差
可重复读:MySQL的默认隔离级别-性能较差,安全性较好
串行化:对表,读写都加上了锁,不能并发执行-性能最差,安全性最好
事务处理
#开启事务:
start transaction;
insert into emp values(1,'jack','beijing')
#rollback;#回滚:
commit;#提交:#只有提交了事务才会对数据库进行改变