数据库(面试)

1. mysql查询

  • 有一个表,有字段id, class, name, score,按class, 及格人数,不及格人数查出结果
select class, count(score >= 60 or null) as pass, count(score < 60 or null) as notPass from table students group by class;
//或者
使用if,sql语句

-说明:Count在 值是NULL是 不统计数, (count(‘任意内容’)都会统计出所有记录数,因为count只有在遇见null时不计数,即count(null)==0,因此前者单引号内不管输入什么值都会统计出所有记录数)至于加上or NULL , 很像其他编程里的or运算符,第一个表达式是true就是不执行or后面的表达式,第一个表达式是false 执行or后面的表达式 。当expression不成立时,expression or NULL 的结果是NULL,Count才不会统计上这条记录数


本文来自 杨小瘦 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_32719287/article/details/79513164?utm_source=copy

2. MongoDB比Mysql的优势所在

  • mongodb 访问速度优于mysql,一是mysql事务操作较慢,二是mongo存储为BSON格式文档,代码亲和性好。
  • 获取数据的方式较为便捷。
  • 插入性能优越,数据库的平均插入速率:MongoDB不指定_id插入 >MySQL不指定主键插入 > MySQL指定主键插入 > MongoDB指定_id插入。
  • mongoDB对于开发者十分友好,拿到的数据都是json格式,同时开发者维护数据库也很方便。
  • mysql在数据读写的过程中必须要经过sql语句的解析,在大量数据,或者有高并发的情况下性能就明显不足。
  • mongoDB会将系统内存作为缓存,这也是mongoDB查询速度比mysql快的原因之一。
  • mongoDB官方自带一个分布式文件系统,可以很方便的部署至服务器集群上。且mongoDB有一个Shard的概念,是为了方便服务器分片使用的,每增加一台Shard,mongoDB的性能也会成倍增长,同时磁盘容量也很方便的扩充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值