【数据分析】SQL面试题整理
笔试题链接
SQL笔试题链接1:用户留存问题
SQL笔试题链接2
1、SQL语言类别
- 数据查询语言DQL
- 数据操纵语言DML:INSERT,UPDATE,DELETE
- 数据定义语言DDL:CREATE,ALTER,DROP
- 数据控制语言DCL:GRANT,REVOKE,DENY
- 事务控制语言TCL
2、MYSQL和SQL Server区别
3、数据库设计步骤
- 需求分析:数据字典
- 概念结构设计:概念模型(E-R模型→UML图表示)
- 逻辑结构设计:将概念模型转换为与数据库管理系统产品所支持的数据模型相符合的逻辑结构
- 物理结构设计:存取方法和存储结构(B+树,hash索引,聚簇存取)
- 数据库实施
- 数据库运行和维护
4、数据库的三级模式
- 模式:ER图所揭⽰的字段或表间的逻辑
- 外模式:用户可以操作的视图,例如具体的数据库和表
- 内模式:数据库的物理结构和存储方式
5、数据库的二级映像
- 外模式/模式映像:使数据具有较高的逻辑独立性
- 模式/内模式映像:使数据具有较高的物理独立性
6、如何优化MySQL
- 优化查询语句
- 优化索引、事务处理
- 优化数据表结构
- 优化系统配置
- 优化硬件
7、索引
- 索引是帮助MySQL高效获取数据的数据结构
(1)什么情况下索引被设置了但是无法使用?
- where子句中用or来连接没有使用索引的条件
- where子句中对索引列进行计算或判空
- where子句中使用%开头的Like语句
- 数据类型出现隐式转化
(2)索引对数据库系统的负面影响:
- 占用物理空间,降低正常的运行速度
- 降低维护速度
(3)建立索引的原则
- 在频繁使用、缩小查询范围的字段上建立
- 基于查询创建索引,而不是基于表
8、如何优化SQL查询语句
- 对查询进行优化,首先应尽量避免全表扫描,在比较频繁使用的字段上面加上索引
- 尽量避免在 where 子句中对索引列使用计算或者进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
- Where子句中:where表之间的连接必须写在其他 Where 条件之前,那些可以过滤掉最大数量
- 用EXISTS替代IN,用NOT EXISTS替 NOT IN
9、事务
- 数据库事务是一个数据库操作序列,这些操作要么全部成功,要么全部失败,是一个不可分割的工作单位。
(1)事务的ACID原则
- 原子性:事务中的操作要么全执行完,要么全部都不做
- 一致性:事务开始前和结束后,数据库的完整性约束没有被破坏
- 隔离性:各事务之间的操作不受影响
- 持久化:事务一旦成功提交成功后,所有这个事务对数据库的更改全部被保留下来
10、视图
- 视图可以当成表格来用,可以将查询结果存储在视图中,后面可以直接调用这个视图数据,或者继续在视图中查询。
(1)视图的优点
- 简化查询
- 安全性
- 更易维护(如果没有视图,所有的查询直接指向原始数据表,一旦更改原表设计,就要相应的更改该表所有的查询语句。如果有视图,我们只需要修改视图的查询语句,使其能保持原有查询结果即可,基于视图的查询我们就不需要再修改了。)
11、触发器Trigger
- 触发器是在插入、更新、删除语句前后自动执行的一堆SQL代码,用于对表执行特定操作。比如在交易表中添加一条交易,在日志表中就自动添加一条记录,这样就要用到触发器。
12、事件
-事件是在特定时刻自动执行任务,操作数据库。比如我们想在每天都执行删除过期日志,就可以创建一个事件,在每天特定时刻来自动执行这一操作。
13、char和varchar
- 存储方面:CHAR 列长度固定,存储为创建表时声明的长度,如果插入的长度小于定义长度,则可以用空格进行填充。而varchar是一种可变长度的类型,当插入的长度小于定义长度时,插入多长就存多长。
- 查找效率:char查找效率会很高,varchar查找效率会更低
14、四个范式
- 第一范式:每个属性不可再分
- 第二范式:不存在非主属性对码的部分依赖
- 第三范式:不存在非主属性对码的传递依赖
- 修正的第三范式:不存在主属性对码的传递依赖
15、函数
concat(字段A,字段B) 合并两个字段
limit(n,m) 跳过m条语句返回前n条
case when(条件1)then(结果1)
when(条件2)then(结果2)
else(结果3)
end as(列名)DATE_ADD(Date,interval -rn day)
TIMESTAMPDIFF(DAY,atime,btime)
【数据分析】SQL面试题整理相关推荐
- SQL面试题整理_数据库知识点
我觉得获得高薪的关键:就是高效的准备面试.如果当初有个人能给我一份总结好的面试锦囊,我就不至于慌成那样. 对于程序员来说,面试内容一般分为两个部分:编程面试题部分 + 数据库面试题部分. 的,所以所关 ...
- 【实习】数据分析岗_试题整理
1. 过拟合的解决办法 1)增加数据 2)正则项 3)early stopping 4)控制模型复杂度: a. dropout(我觉得类似于subfeature) b. 剪枝.控制树深 c. 增大分割 ...
- 数据分析sql面试必会6题经典_面试数据分析会遇到的SQL题
「1」说在前面 数据存放在数据库里,以表的形式分门别类. 宜家的商品(数据)放在宜家的仓库(数据库)里,以货位的形式分门别类. 在宜家,可以通过商品上的编号,查到商品在仓库的排号和位号,取到商品. S ...
- 数据分析|SQL面试题集锦
https://zhuanlan.zhihu.com/p/136619982 https://www.cnblogs.com/diffrent/p/8854995.html 1.用一条SQL 语句 查 ...
- 【数据分析/商业分析】面试题整理——统计学/机器学习/业务专题
SQL编程专题:[数据分析/商业分析]面试题整理--SQL专题 文章目录 统计学 机器学习 SQL 大数据 业务知识 python 统计学 怎么做假设检验 偏态分布怎么处理 假设检验的基本原理,为什么 ...
- sql 以a开头的所有记录_#9#猴子聊数据分析之常见的SQL笔试题和面试题(下)
题目来源 猴子:常见的SQL笔试题和面试题(下)zhuanlan.zhihu.com 1.SQL语言允许使用通配符进行字符串匹配的操作,其中'%'可以表示:多个字符 2.通过 SQL,如何从 &qu ...
- python实习生面试题_大数据分析实习生面试题库
原标题:大数据分析实习生面试题库 大数据分析是一个有吸引力的领域,因为它不仅有利可图,而且您有机会从事有趣的项目,而且您总是在学习新事物.如果您想从头开始,请查看大数据分析实习生面试题库以准备面试要点 ...
- 干货!常见的SQL面试题:经典50例!
来自:CSDN,作者:sh_c_2450957609 链接:https://blog.csdn.net/u010565545/article/details/100785261 SQL在数据分析中举足 ...
- 数据分析真题日刷 | 京东2019校招数据分析工程师笔试题
今日真题 网易2018校园招聘数据分析工程师笔试卷(来源:牛客网) 题型 客观题:单选51道,不定项选择12道 完成时间 120分钟 牛客网评估难度系数 3颗星 ❤️ 「更多数据分析真题」 <数 ...
最新文章
- 关于学习Python的一点学习总结(10->设置字符串格式)
- 大山深处,有一所希望学校
- Python--粒子滤波定位案例程序
- 第三方软件要使用QQ邮箱进行发邮件相关设置
- Falcon 快速开始
- 论文解读:ACL2021 NER | 基于模板的BART命名实体识别
- linux 红帽6系统下载,Red Hat Enterprise Linux 6.2 ISO 下载
- 达观杯文本智能处理(3)
- JAVAWeb物流快递管理系统
- Visual Studio安装教程
- Python面向对象加强2.Python 中类的内置属性和内置方法(魔法函数)
- 3D建模场景怎么做?
- Oracle全局索引和本地索引
- CANoe如何查看总线负载率?
- HGDB 数据库用户密码参数查询设置
- 华为服务器bmc怎么传文件,华为服务器bmc配置
- 推荐系统三十六式(刑无刀)学习笔记(四)
- H5 css标签选择器
- 统计视角下的Bias Variance Tradeoff 和它在KNN模型中的体现
- c++中while语句的使用
热门文章
- 2.try(){}语法含义及用法
- 修改jupyter notebook中的tensorflow版本
- html内容页上一页下一页,帝国CMS内容页增加内容分页上一页标签功能!
- 2020年第十一届C/C++ B组第一场蓝桥杯省赛真题
- mc服务器bug修复,我的世界服务器BUG解决办法大全
- ovs-vsctl设置ofport不成功处理
- Python爬取链家的数据并绘制热力图
- 全球与中国汽车真皮内饰市场竞争形势及供需策略分析报告2022-2028年版
- JQery的lond方法加载内部页面,内部页面不加载Js
- Excel应用:去除重复项,进行个数计算。