版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026阿里巴巴SQL笔试真题汇编及详细答案解析(考场原版)试卷说明:本套试题完全贴合2026阿里春招、秋招线上笔试原题题型,适配大数据开发、数据分析师、后端开发、测试开发等所有需要考察SQL的岗位。试题分为基础选择题、实操简答题、业务编程题三个模块,难度梯度和官方笔试一致,所有答案均为考场标准得分答案,解析贴合业务实战,规避通用模板话术。考试规则:总分100分,答题时长90分钟;选择题单选唯一正确答案,简答题按要点得分,编程题语法正确、逻辑无误、边界处理完整即可满分。一、SQL基础选择题(共10题,每题4分,共40分)本模块为阿里笔试必考基础考点,侧重SQL语法细节、函数特性、索引原理、查询规则,多为易踩坑题型。1、在SQL中,关于NULL值查询,下列写法能够正确匹配空值的是()A.WHEREcolumn=NULLB.WHEREcolumnISNULLC.WHEREcolumn==NULLD.WHEREcolumnINNULL答案:B详细解析:SQL中NULL代表未知空值,不参与普通等值判断,使用=、==、IN都无法匹配NULL数据。行业通用标准写法为ISNULL(匹配空值)、ISNOTNULL(匹配非空值),这是笔试高频易错点。2、以下关于GROUPBY分组查询的规则,说法正确的是()A.SELECT字段可以包含任意非聚合字段B.GROUPBY字段必须全部出现在SELECT字段中C.SELECT中非聚合字段必须全部在GROUPBY中D.GROUPBY不支持多字段分组答案:C详细解析:标准SQL语法规范中,分组查询时,SELECT后的字段要么是GROUPBY的分组字段,要么是SUM、COUNT、MAX等聚合函数字段。随意书写非聚合、非分组字段会直接报错,同时GROUPBY支持多个字段联合分组。3、ORDERBY排序默认排序规则和优先级正确的是()A.升序,NULL值排在最前B.升序,NULL值排在最后C.降序,NULL值排在最前D.降序,NULL值排在最后答案:A详细解析:ORDERBY默认不指定排序方式时为ASC升序排列。在MySQL、Hive等阿里常用数据库中,升序场景下NULL值视为最小值,默认排在数据最前方,降序时NULL值排在最后。4、下列聚合函数中,不会忽略NULL值的是()A.COUNT(*)B.COUNT(字段名)C.SUM()D.AVG()答案:A详细解析:COUNT(字段)、SUM、AVG都会自动忽略字段中的NULL值,仅统计有效数据。而COUNT(*)是统计数据表的总行数,无论字段是否为空、是否存在NULL,都会完整统计,不会忽略任何数据行。5、SQL中DISTINCT关键字的作用,描述准确的是()A.去除单行字段内的重复值B.去除查询结果整行重复数据C.仅去除主键字段重复值D.清空数据表重复数据答案:B详细解析:DISTINCT作用于SELECT查询的所有返回字段,判断一整行数据是否完全一致,自动剔除重复行,保留唯一数据。该关键字不针对单个字段,也不会修改原表数据,仅对查询结果去重。6、多表关联中,需要返回左表所有数据,右表匹配不到数据显示NULL,应使用哪种关联方式()A.INNERJOINB.LEFTJOINC.RIGHTJOIND.FULLJOIN答案:B详细解析:LEFTJOIN左连接核心逻辑:左表数据全部保留,根据关联字段匹配右表数据,匹配成功展示对应数据,匹配失败右表字段统一返回NULL。INNERJOIN仅返回两边匹配成功数据,RIGHTJOIN保留右表全部数据。7、在HiveSQL中,分区字段的特点说法错误的是()A.分区字段不存储在数据文件中B.分区查询可以大幅扫描过滤数据,提升查询效率C.分区字段必须是数据表的原始字段D.阿里大数据场景常用日期作为分区字段答案:C详细解析:Hive分区字段为虚拟字段,无需在原始数据表中定义,可根据业务自定义(如dt日期分区)。分区的核心作用是数据分层存储,查询时通过分区过滤减少扫描数据量,是阿里大数据开发的基础优化手段。8、执行DELETE和TRUNCATE删除数据表数据,下列说法正确的是()A.TRUNCATE可以带WHERE条件精准删除B.DELETE删除数据会记录日志,支持事务回滚C.TRUNCATE删除速度远慢于DELETED.DELETE会清空表结构和索引答案:B详细解析:DELETE为逐行删除,支持WHERE条件筛选,会记录事务日志,支持回滚;TRUNCATE为清空全表数据,不支持WHERE条件,无日志记录、无法回滚,删除速度更快,二者均不会删除表结构和索引。9、下列SQL语句执行优先级从高到低排序正确的是()A.FROM>WHERE>GROUPBY>HAVING>ORDERBYB.WHERE>FROM>GROUPBY>HAVING>ORDERBYC.FROM>GROUPBY>WHERE>HAVING>ORDERBYD.FROM>WHERE>HAVING>GROUPBY>ORDERBY答案:A详细解析:标准SQL执行顺序固定:先通过FROM确定数据表,再用WHERE过滤原始数据,接着GROUPBY分组,HAVING过滤分组后数据,最后ORDERBY排序输出结果,笔试高频考点。10、用于模糊查询匹配任意长度任意字符的通配符是()A._B.%C.*D.#答案:B详细解析:SQL模糊查询通配符规范:%匹配任意长度、任意字符;_仅匹配单个任意字符。*和#不属于SQL标准模糊查询通配符,多用于其他编程语言。二、SQL实操简答题(共3题,每题10分,共30分)本模块聚焦阿里日常业务实操,考察语法细节、数据处理逻辑,按答题要点给分。简答题1:简述WHERE和HAVING的核心区别(考场标准答案)参考答案:1、执行时机不同:WHERE是分组之前过滤原始数据表数据;HAVING是分组之后过滤聚合、分组后的结果数据。2、适用范围不同:WHERE不能使用聚合函数(SUM、COUNT、MAX等);HAVING专门用于筛选聚合函数计算后的结果,支持聚合函数。3、执行效率不同:WHERE提前过滤无效数据,减少分组计算量,效率更高;HAVING是对全量分组结果筛选,资源消耗更大。简答题2:简述SQL索引的作用,以及哪些场景不适合建立索引参考答案:索引核心作用:通过构建有序数据结构,减少数据库磁盘扫描行数,大幅提升查询效率;同时可约束字段唯一性,优化排序、分组查询速度。不适合建索引的场景:1、数据量极小的数据表,索引维护成本高于查询优化收益;2、频繁增删改的字段,索引需要同步更新,会大幅降低写入性能;3、重复度极高的字段(如性别、状态),索引筛选效果极差;4、NULL值占比极高的字段,索引利用率极低。简答题3:左连接、内连接、全连接的业务使用场景差异参考答案:1、内连接INNERJOIN:仅保留两张表关联匹配成功的数据,适用于需要精准匹配有效关联数据的场景,比如查询用户的有效订单记录。2、左连接LEFTJOIN:保留左表全部数据,匹配右表数据,适用于需要统计全量主数据、关联辅助数据的场景,比如统计所有用户的下单情况,无订单用户也需保留。3、全连接FULLJOIN:保留两张表所有数据,适用于需要对比两张表全量数据差异、数据对账的业务场景。三、SQL业务编程真题(共2题,每题15分,共30分)本模块为2026阿里线上笔试原题,贴合电商、大数据核心业务,附完整可运行SQL代码、详细解题思路、边界处理说明。编程题1:用户复购率统计(阿里高频真题)业务背景:现有电商订单表user_order,统计2026年8月首次下单用户中,9月产生复购的用户人数及复购率,结果保留4位小数。数据表结构:user_id用户IDorder_time订单下单时间order_id订单编号需求说明:1、8月新用户定义:用户全平台最早下单时间为2026年8月;2、复购定义:该类用户在2026年9月至少产生1笔订单;3、输出字段:8月新用户数、9月复购用户数、复购率。解题思路:1、先筛选出所有用户的首次下单时间,筛选出8月新用户名单;2、基于新用户名单,匹配9月下单记录,统计复购人数;3、计算复购率,强制转为浮点型保留4位小数,规避整数截断问题。完整可运行SQL(Hive/MySQL通用)PlainText
WITHuser_first_orderAS(
--统计每个用户首次下单时间
SELECT
user_id,
MIN(order_time)ASfirst_time
FROMuser_order
GROUPBYuser_id
),
aug_new_userAS(
--筛选8月新用户
SELECTDISTINCTuser_id
FROMuser_first_order
WHEREDATE_FORMAT(first_time,'%Y-%m')='2026-08'
),
sep_repurchase_userAS(
--筛选新用户中9月复购的用户
SELECTDISTINCTa.user_id
FROMaug_new_usera
LEFTJOINuser_orderb
ONa.user_id=b.user_id
WHEREDATE_FORMAT(b.order_time,'%Y-%m')='2026-09'
)
SELECT
(SELECTCOUNT(*)FROMaug_new_user)ASm8_new_users,
(SELECTCOUNT(*)FROMsep_repurchase_user)ASm8t9_repurchase_users,
ROUND(
(SELECTCOUNT(*)FROMsep_repurchase_user)/
(SELECTCOUNT(*)FROMaug_new_user)*1.0,
4
)ASrepurchase_rate;
踩坑说明:必须区分「首次下单用户」和「8月所有下单用户」,不可直接统计8月下单用户,且统计人数必须去重,不能统计订单数。编程题2:搜索位置点击率统计(阿里大数据原题)业务背景:阿里搜索业务中,商品曝光位置会影响点击转化率,现有搜索日志表search_log,统计每个展示位置的曝光量、点击量、点击率。数据表结构:request_id搜索请求ID(一次搜索唯一标识)position商品展示位置(1、2、3...)is_click是否点击(1点击,0未点击)需求说明:1、曝光量:每个位置的展示总次数;2、点击量:每个位置产生点击的总次数;3、点击率=点击量/曝光量,保留3位小数;4、按展示位置升序排序。解题思路:1、按position位置分组,统计每组总曝光数、点击总数;2、通过除法计算点击率,统一保留小数位数;3、按位置升序排序,符合业务展示逻辑。完整可运行SQLPlainText
SELECT
position,
COUNT(*)ASexpose_cnt,
SUM(is_click)ASclick_cnt,
ROUND(SUM(is_click)/COUNT(*)*1.0,3)ASclick_rate
FROMsearch_log
GROUPBYposition
ORDERBYpositi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《李开复时间管理》课件
- 《献给爸爸妈妈的歌》课件
- 《薄膜等厚干涉》课件
- 初中信息技术七年级全一册第一单元第三课互联网应用影响新体验教学设计
- 《振动分析基础》课件
- 初中语文说明文阅读教学设计:基于思维训练的河北中考一轮复习策略
- 八年级语文下册第一单元综合检测卷教学设计与命题解析
- 七年级英语 Unit 2 Lesson 1 How do you like English 分层训练教学设计
- 高中化学必修第二册 实验活动9 乙醇乙酸主要性质 教学设计
- 初中地理七年级下册“撒哈拉以南非洲”教学设计
- 2026年重症医学科护理工作计划
- T/GDCA 034-2023化妆品用原料 红茶发酵产物
- 2026年全国行政执法人员执法资格考试必考题库与答案
- 2026年河北会考试题及答案
- 2025年中国干粉砂浆市场调查研究报告
- 重庆数字资源集团招聘考试真题2025
- 城镇土地使用税房产税纳税申报表
- 动火施工方案和应急方案(3篇)
- T∕CPCPA 0017-2026 托育机构婴幼儿回应性照护服务规范
- 心血管内科心室颤动急救措施
- 老年法律援助维权服务规范
评论
0/150
提交评论