sql
连接
- 默认不写(连接) 就是内连接
- inner , outer都可以省
[Inner] Join
15 有10条无效。
6个员工 3个部门, 5个员工有部门,1个新来的 还没部门。
6 * 3 = 18
全外连接?
内连接:又称等值连接
- 默认不写Join 就是内连接,不写时条件有where
- inner join时,条件限制用on , inner可以省略
外连接:保留了没有关联的那些行
- 左外连接:保留左边没有关联到右边的行,左表中条件判断字段为null的行保留
- 右外连接:类比左的
- outter可以省略
并发一致性问题:
脏读:读取未提交的修改。
不可重复读:1个事务2次读的结果不一致,中间有其他事务修改了。
幻影读:事务1读取某个范围的数据,事务2插入了数据,事务1再读不一致。
主要原因:破坏了事务的隔离性。
解决方法:通过并发控制(封锁),但是封锁需要用户自己控制
dbms提供了事务的隔离级别,让用户处理并发一致性问题。
Read Uncommitted(读取未提交内容)
Read Committed(读取提交内容):一个事务只能看见已提交事务的更改。
Repeatable Read(可重读)
Serializable(可串行化) :最高的隔离级别,强制事务排序。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!