【面试】数据库SQL(一)自用

本文详细解析了SQL中的WHERE子句与HAVING子句的不同,以及索引的创建优点和缺点。WHERE在数据检索前约束数据,不支持聚合函数;HAVING则在查询后过滤结果,可使用聚合函数。同时,讨论了事务的四大特性:原子性、一致性、隔离性和持久性。并提到了何时应为字段建立索引。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库SQL

1,where和having的区别
“Where” 是一个约束声明,是在查询结果集返回之前约束来自数据库的数据,且Where中不能使用聚合函数。
“Having”是一个过滤声明,是在查询结果集返回以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。
2,索引优缺点
索引主要分为四种:普通索引、主键、唯一索引、复合索引
建立索引的优点:
1、索引能够提高数据检索的效率,降低数据库的IO成本。
2、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性,创建唯一索引
3、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间
4、加速两个表之间的连接,一般是在外键上创建索引
建立索引的缺点:
1、需要占用物理空间,建立的索引越多需要的空间越大
2、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
一般需要建立索引的字段
1、经常用在where语句之后的字段
2、主键或者外键
3、字段具有唯一性的时候建立唯一性索引
4、在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的
3,事务特点
原子性 (atomicity):强调事务的不可分割.
一致性 (consistency):事务的执行的前后数据的完整性保持一致.
隔离性 (isolation):一个事务执行的过程中,不应该受到其他事务的干扰
持久性(durability) :事务一旦结束,数据就持久到数据库,
4,左连接右连接
在这里插入图片描述

  1. 左连接
  2. 右链接
  3. 左连接不包括内连接
  4. 内连接
  5. 全连接
  6. 右链接不包括内连接
  7. 外连接不包括内连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值