SQL语句笔试真题(含详细答案解析)_第1页
SQL语句笔试真题(含详细答案解析)_第2页
SQL语句笔试真题(含详细答案解析)_第3页
SQL语句笔试真题(含详细答案解析)_第4页
SQL语句笔试真题(含详细答案解析)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL语句笔试真题(含详细答案解析)适用场景:后端开发、数据分析师、运维岗入职笔试难易程度:基础+中等(覆盖80%企业面试高频考点)前置数据表说明:所有题目基于以下3张常用业务表,统一表结构,所有考题均可直接执行一、基础数据表结构(考试通用)1.用户表user字段名字段类型字段说明user_idint用户ID(主键)user_namevarchar(20)用户名ageint年龄gendervarchar(10)性别create_timedatetime注册时间2.订单表order字段名字段类型字段说明order_idint订单ID(主键)user_idint用户ID(外键)order_moneydecimal(10,2)订单金额order_statustinyint订单状态1-待支付2-已支付3-已取消order_timedatetime下单时间3.商品表goods字段名字段类型字段说明goods_idint商品ID(主键)goods_namevarchar(50)商品名称pricedecimal(10,2)商品单价stockint库存数量二、SQL笔试真题(共15题,含答案解析)基础查询类(1-5题)题目1:查询用户表中所有男性用户的信息,要求展示用户名、年龄、注册时间。标准答案:sql

SELECTuser_name,age,create_time

FROMuser

WHEREgender='男';答案解析:基础条件查询,通过WHERE关键字筛选性别为男的用户,SELECT后指定需要展示的字段,避免查询全字段提升查询效率。题目2:查询年龄在20-30岁之间(包含20和30)的所有用户ID和用户名,按年龄升序排序。标准答案:sql

SELECTuser_id,user_name

FROMuser

WHEREageBETWEEN20AND30

ORDERBYageASC;答案解析:BETWEENAND用于闭区间范围查询,ORDERBY字段ASC为升序(ASC可省略,默认升序),降序需使用DESC。题目3:查询商品表中库存为空(库存为0)的所有商品名称和单价。标准答案:sql

SELECTgoods_name,price

FROMgoods

WHEREstock=0;答案解析:精准条件筛选,直接匹配库存字段数值为0,区分NULL和0,库存为NULL代表未录入数据,和库存为0不是同一场景。题目4:查询用户表中年龄为空的用户数量。标准答案:sql

SELECTCOUNT(user_id)ASnull_age_count

FROMuser

WHEREageISNULL;答案解析:判断空值必须使用ISNULL,不能使用=NULL(NULL不等于任何值,包括自身),COUNT统计主键可避免统计空数据。题目5:模糊查询用户名包含“张”字的所有用户信息。标准答案:sql

SELECT*FROMuser

WHEREuser_nameLIKE'%张%';答案解析:LIKE为模糊查询关键字,%代表任意字符,%张%表示包含张字,张%表示以张开头,%张表示以张结尾。聚合分组类(6-8题)题目6:统计订单表中每种订单状态的订单数量、订单总金额。标准答案:sql

SELECTorder_status,COUNT(order_id)ASorder_num,SUM(order_money)AStotal_money

FROM`order`

GROUPBYorder_status;答案解析:GROUPBY按订单状态分组,COUNT统计订单数,SUM聚合求和。order是SQL关键字,作为表名需用反引号包裹避免报错。题目7:统计每个用户的下单次数,只查询下单次数大于2次的用户。标准答案:sql

SELECTuser_id,COUNT(order_id)ASorder_count

FROM`order`

GROUPBYuser_id

HAVINGCOUNT(order_id)>2;答案解析:分组后筛选条件必须使用HAVING,WHERE是分组前筛选,无法过滤聚合函数结果,这是高频易错点。题目8:查询商品表中最高单价、最低单价、商品总数量。标准答案:sql

SELECTMAX(price)ASmax_price,MIN(price)ASmin_price,COUNT(goods_id)ASgoods_total

FROMgoods;答案解析:MAX最大值、MIN最小值、COUNT统计总数,无需分组,直接对全表数据聚合统计。联表查询类(9-12题)题目9:查询所有已支付订单(order_status=2)的用户名、订单金额、下单时间。标准答案:sql

SELECTu.user_name,o.order_money,o.order_time

FROMuseru

INNERJOIN`order`oONu.user_id=o.user_id

WHEREo.order_status=2;答案解析:内连接查询两张表关联数据,只展示有匹配订单的用户,使用表别名简化SQL语句,WHERE过滤订单状态。题目10:查询所有用户的下单情况,包括从未下过单的用户,展示用户名、累计下单金额。标准答案:sql

SELECTu.user_name,IFNULL(SUM(o.order_money),0)AStotal_money

FROMuseru

LEFTJOIN`order`oONu.user_id=o.user_id

GROUPBYu.user_id,u.user_name;答案解析:左连接保留左表(用户表)所有数据,无订单用户金额为NULL,通过IFNULL将NULL替换为0,符合业务展示需求。题目11:查询2026年所有用户的下单记录,展示用户名、订单ID、订单金额、下单时间。标准答案:sql

SELECTu.user_name,o.order_id,o.order_money,o.order_time

FROMuseru

INNERJOIN`order`oONu.user_id=o.user_id

WHEREDATE_FORMAT(o.order_time,'%Y')='2026';答案解析:通过DATE_FORMAT函数截取年份,筛选指定年份订单数据,适配datetime时间类型精准查询。题目12:查询下单金额最高的用户姓名及总消费金额。标准答案:sql

SELECTu.user_name,SUM(o.order_money)AStotal_money

FROMuseru

INNERJOIN`order`oONu.user_id=o.user_id

GROUPBYu.user_id,u.user_name

ORDERBYtotal_moneyDESC

LIMIT1;答案解析:分组统计用户总消费,按金额降序排序,LIMIT1只取第一条数据,即消费最高的用户。子查询&复杂查询类(13-15题)题目13:查询没有下过任何订单的用户ID和用户名。标准答案:sql

SELECTuser_id,user_name

FROMuser

WHEREuser_idNOTIN(SELECTDISTINCTuser_idFROM`order`);答案解析:子查询查出所有有订单的用户ID,外层查询通过NOTIN筛选不在该集合中的用户,即无订单用户。DISTINCT去重提升查询效率。题目14:查询订单平均金额大于100元的用户ID、用户名、平均订单金额。标准答案:sql

SELECTu.user_id,u.user_name,AVG(o.order_money)ASavg_money

FROMuseru

INNERJOIN`order`oONu.user_id=o.user_id

GROUPBYu.user_id,u.user_name

HAVINGAVG(o.order_money)>100;答案解析:AVG函数计算平均订单金额,分组后通过HAVING筛选平均金额大于100的用户,属于分组聚合高频考题。题目15:更新题:将所有库存低于10的商品单价上调5元,写出更新SQL语句。标准答案:sql

UPDATEgoods

SETprice=price+5

WHEREstock<10;答案解析:UPDATE更新语句,通过WHERE精准筛选更新条件,避免全表更新;业务中更新前建议先SELECT校验数据,防止误操作。三、高频易错知识点总结1.关键字规避:orde

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论