【数据分析面试】直观感受真实面试题

本文深入探讨SQL查询顺序,包括ORDER BY, GROUP BY, HAVING, JOIN,并讲解窗口函数的使用。同时,讨论面对数据库错误时的恢复策略和数据插入方法。此外,涵盖机器学习的分类与聚类算法,以及数据分析中常用的Python库,如pandas、numpy和scikit-learn。文章还讨论了Python中merge和concat函数与SQL JOIN、UNION的相似性,并概述了实际数据项目开发流程。" 5691839,457334,使用zlib进行文件压缩与解压缩,"['文件处理', '压缩技术', '编程', '库函数']

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

1. SQL中 ORDER BY, GROUP BY,HAVING,JOIN的运行顺序是怎么样的?

在SQL中,查询语句的执行顺序如下:

  • FROM :首先,数据库引擎从指定的表(或视图)中获取数据。
  • JOIN :如果查询涉及多个表,数据库引擎将执行任何JOIN操作,根据指定的连接条件将相关行合并为结果集。
  • WHERE:在JOIN之后,WHERE子句用于筛选满足特定条件的行。
  • GROUP BY:如果查询包含GROUP BY子句,数据库引擎将按照指定的列对结果进行分组。
  • HAVING:在分组完成后,HAVING子句用于过滤分组结果,类似于WHERE子句,但是作用于分组后的结果集。
  • SELECT:在所有上述步骤完成之后,选择指定的列或计算表达式来形成最终的结果集。
  • ORDER BY:最后,如果有ORDER BY子句,数据库引擎将按照指定的列对结果进行排序。默认升序排序。
  • LIMIT从查询结果中取指定行。

2. SQL中的窗口函数是如何使用的?

SQL中的窗口函数:用于在查询结果集中执行聚合、排序和分析操作的强大工具。它们能够在不破坏原始数据行的情况下,对数据进行分组、排序和计算。窗口函数通常与OVER子句结合使用。
分类包括:

  • 排名函数:row_number(),rank(),dense_rank()
  • 聚合函数:max(),min(),count(),sum(),avg(),median()
  • 向前向后取值:lag(),lead()
  • 百分位:percent_rank()
  • 取值函数:first_value(),last_value(),nth_value()
  • 分箱函数:ntile()

3. 假如你对数据库中做了删除操作,导致整个数据表无法运行,一直报错,你怎么办?

  • 检查数据库日志:查看数据库的错误日志以了解报错信息的详细情况。数据库日志通常会提供有关错误的更多信息,例如错误代码、错误消息以及发生错误的时间和位置。这有助于更好地理解问题的根本原因。
  • 考虑恢复备份:如果其他方法都无法解决问题,并且数据库中包含重要数据,那么最后的选择可能是从备份中恢复数据。恢复备份将数据库恢复到删除操作执行之前的状态,并且通常是解决严重数据损坏问题的有效方法。

4. 假如你要向数据库中添加一些数据,你要怎么添加?比如要向三年一班的成绩数据表里添加三年二班学生的成绩,你要怎么操作?

要向数据库中的数据表添加数据,您可以使用SQL的INSERT INTO语句。以下是向名为"成绩数据表"的数据表中添加三年二班学生的成绩的一般操作步骤:

CREATE TABLE 成绩数据表 (
    学生ID INT PRIMARY KEY,
    姓名 VARCHAR(50),
    班级 VARCHAR(20),
    成绩 INT
);

现在您想向这个表中添加三年二班学生的成绩,您可以执行以下SQL语句:

INSER
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值