【Database】数据库常用问题面试

1、order by 与 group by的区别?

order by 排序

根据一列或者多列(即一个或多个字段)进行排序(默认升序ASC,降序DESC)

group by 聚合

对一列或者多列(即一个或多个字段)进行分组,值相等的为一组,配合聚合函数(max、min、avg、count等)使用

备注:having短语与where子句的区别:作用对象不同。

1》WHERE子句作用于基表或视图,从中选择满足条件的元组

2》HAVING短语作用于,从中选择满足条件的

2、什么是视图?

视图实际上是在数据库中通过Select查询语句从多张表中提取的多个表字段所组成的虚拟表。

l 视图并不占据物理空间,所以通过视图查询出的记录并非保存在视图中,而是保存在原表中。

l 通过视图可以对指定用户隐藏相应的表字段,起到保护数据的作用。

l 在满足一定条件时,可以通过视图对原表中的记录进行增删改操作。

l 创建视图时,只能使用单条select查询语句。

3、什么是索引?

索引是对数据库表中一列或多列的值(即一个或多个字段)进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

l 索引分为:聚集索引、非聚集索引、唯一索引等。

l 一张表可以有多个唯一索引和非聚集索引,但最多只能有一个聚集索引。

l 索引可以包含多列。

l 合理的创建索引能够提升查询语句的执行效率,但降低了新增、删除操作的速度,同时也会消耗一定的数据库物理空间。

4、什么是存储过程?

存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。

猜你喜欢

转载自blog.csdn.net/entrypio/article/details/83789154