sql中关键字的执行顺序
from
on
join
where
group by
having
select
distinct
union
order by
left join和rigth join的区别
left join是返回左表全部数据和右表匹配on之后条件的数据。
right join是返回右表全部数据和左表匹配on之后条件的数据。
union 和union all的区别
union是对两个结果集进行合并,相同的数据会被舍弃,同时按照默认的规则排序。
union all也是对两个结果集进行合并,包含全部数据包括相同数据,不进行排序操作。
所以 union all的性能比union要好。
聚集索引和非聚集索引的区别
聚集索引是索引值的逻辑顺序和表中行的物理顺序相同。
非聚集索引相反,聚集索引在表中唯一,非聚集索引可以有多个。
什么是事务?事务的特性是什么?
事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,其中任何一条语句执行失败,整个逻辑工作单元操作全部失败,且回滚到执行事务之前的状态。
事务特性有原子性、一致性、持久性、隔离性。
什么是视图?
视图是一个虚拟的表,具有和物理表相同的功能,同样可以在视图上建立索引,进行增删改查操作,且不影响物理表,一般一个视图包含一个或多个物理表的多行和多列的子集。
使用视图可以更容易获取数据,相当于多表查询。
什么是游标?
可以对结果集作为一个单元进行处理,游标可以从当前结果集中取出一条或者多条数据,且可以对结果集数据进行修改。
什么是存储过程?
是一个预编译的SQL语句,允许模块化设计,只创建一次,可以重复调用,使用命令+存储过程名称来使用。
什么是触发器?
触发器是一个特殊的存储过程,通过事件来触发执行,强化约束,维护数据的完整性和一致性。
索引的优缺点?
优点是提高数据库的查询效率。缺点是减慢了数据录入的效率。
悲观锁和乐观锁
悲观锁:不管读数据还是写数据都会上锁,代表有数据库实现的表锁,行锁,页锁。
乐观锁:只在更新数据的时候上锁
排他锁和共享锁
排他锁:又叫写锁,会阻塞事务的读写。
共享锁:又叫读锁,会阻塞事务的写。
本文暂时没有评论,来添加一个吧(●'◡'●)