当前位置: 首页 > news >正文

SQL 基础面试题(第三天)

本次面试题围绕 SQL 核心基础展开,涵盖基础查询、条件过滤、排序、聚合函数、分组查询五大核心考点,每道题附带完整 SQL 语句和详细讲解,贴合入门到进阶的基础考察逻辑,适合 SQL 面试基础层面试准备。

一、基础查询题(表基础:学生表 student)

字段名 字段类型 说明
id int 学生编号(主键)
name varchar 学生姓名
age int 学生年龄
gender char 性别(男 / 女)
score int 考试分数
class_id int 班级编号

面试题 1:查询学生表中所有学生的所有信息

SELECT * FROM student;

面试题 2:查询学生表中姓名、年龄、分数三个字段的信息,并重命名分数字段为 exam_score

SELECT name, age, score AS exam_score FROM student;
-- 简写:AS可省略,直接用空格分隔
SELECT name, age, score exam_score FROM student;

image

二、条件过滤查询题(基于 student 表)

面试题 3:查询年龄为 18 岁的女生的姓名和分数

SELECT name, score FROM student WHERE age = 18 AND gender = '女';

image

面试题 4:查询分数在 80 到 90 分之间的学生信息,包含 80 和 90 分

-- 方式1:BETWEEN ... AND ...(闭区间,包含首尾)
SELECT * FROM student WHERE score BETWEEN 80 AND 90;
-- 方式2:比较运算符(>= + <=),与方式1等价
SELECT * FROM student WHERE score >= 80 AND score <= 90;

image

面试题 5:查询班级编号为 1、3、5 的学生姓名和年龄

-- 方式1:IN(适合多值匹配,简洁)
SELECT name, age FROM student WHERE class_id IN (1,3,5);
-- 方式2:OR(值少的时候可用,值多则繁琐)
SELECT name, age FROM student WHERE class_id = 1 OR class_id = 3 OR class_id = 5;

image

面试题 6:查询姓名中包含 “晓” 字的学生信息

SELECT * FROM student WHERE name LIKE '%晓%';

image

三、排序查询题(基于 student 表)

面试题 7:查询所有学生的姓名、分数,按分数从高到低排序,分数相同则按年龄从小到大排序

SELECT name, score FROM student ORDER BY score DESC, age ASC;

image

面试题 8:查询班级编号为 2 的学生信息,按分数降序排序,只显示前 3 条结果

SELECT * FROM student WHERE class_id = 2 ORDER BY score DESC LIMIT 3;

image

四、聚合函数题(基于 student 表,聚合函数:统计类核心函数)

面试题 9:统计学生表的总人数、最高分、最低分、平均分、分数总和

SELECTCOUNT(*) AS total_num, -- 总人数MAX(score) AS max_score, -- 最高分MIN(score) AS min_score, -- 最低分AVG(score) AS avg_score, -- 平均分SUM(score) AS sum_score -- 分数总和
FROM student;

image

面试题 10:统计班级编号为 1 的学生的平均分,保留 2 位小数

SELECT ROUND(AVG(score), 2) AS avg_score FROM student WHERE class_id = 1;

五、分组查询题(基于 student 表,分组:GROUP BY)

面试题 11:按班级分组,统计每个班级的学生人数和班级平均分

SELECTclass_id AS 班级编号,COUNT(*) AS 班级人数,ROUND(AVG(score), 2) AS 班级平均分
FROM student
GROUP BY class_id;

image

面试题 12:按班级分组,统计每个班级的女生人数,只显示女生人数大于 5 的班级

SELECTclass_id AS 班级编号,COUNT(*) AS 女生人数
FROM student
WHERE gender = '女' -- 分组前过滤:只选女生
GROUP BY class_id
HAVING COUNT(*) > 5; -- 分组后过滤:女生人数>5

image

面试题 13:按班级和性别分组,统计每个班级中男生、女生的人数和平均分

SELECTclass_id AS 班级编号,gender AS 性别,COUNT(*) AS 人数,ROUND(AVG(score), 2) AS 平均分
FROM student
GROUP BY class_id, gender
ORDER BY class_id ASC;

image

image

http://www.jsqmd.com/news/495518/

相关文章:

  • Jetson Orin Nano(5): 升级系统
  • 霜儿-汉服-造相Z-Turbo代码实例:Python调用Xinference API生成江南庭院古风写真
  • 【IEEE出版、EI稳定检索】2026年第三届先进机器人,自动化工程与机器学习国际会议(ARAEML 2026)
  • Spring Cloud Java后端面试题精选 - Day 9
  • Qwen3-TTS-Tokenizer-12Hz实战分享:如何将音频高效压缩为离散tokens
  • StructBERT文本相似度WebUI:零基础3分钟上手,轻松判断句子相似度
  • GPEN在AI内容生产中的应用:Stable Diffusion出图后人脸精修流程
  • Deliberate模型全解析:从价值定位到效能突破的实践指南
  • 三轴CNC自动编程入门实用指南:附靠谱厂家工具推荐
  • MiniCPM-o-4.5-nvidia-FlagOS生产环境:GPU资源隔离与多租户图文服务调度方案
  • Phi-3-Mini-128K多轮对话效果深度评测:上下文保持与逻辑一致性
  • 算法专题笔记------一篇讲明白 LeetCode三数之和与四数之和
  • 工厂制造运营:从流程管理到系统协同的演进
  • 智能预测引擎从0到1实战指南:MiroFish群体智能系统全解析
  • 数据中心U位管理与CMDB系统的协同机制及实践
  • 吹风机产品实拍视频全流程:从脚本策划到成片交付,一步到位
  • STM32版FX2N源码与原理图解析:C语言编译的PLC通信程序移植与应用指南
  • 从零到一:DolphinScheduler部署实战与高频“拦路虎”攻克指南
  • 金仓数据库在MySQL迁移中的技术观察:协议兼容与平滑替换的实践路径
  • KART-RERANK卷积神经网络原理关联检索:CV论文与代码实现智能匹配
  • Puerts技术演进:跨引擎交互架构升级与多平台战略布局
  • 快速上手Qwen2.5-7B微调:单卡10分钟,打造专属对话机器人
  • 一键分发生产厂家
  • eSUN易生×联泰科技!柔弹性3D打印方案正式发布
  • Janus-Pro-7B效果震撼展示:中国风山水、皮克斯动画、照片级真实
  • 3dsMax2020必备插件:一键解决材质混乱与贴图重复问题(附安装教程)
  • Puerts技术演进蓝图:连接游戏引擎与TypeScript的下一代桥梁
  • “双碳”目标下的能源管理:TDengine时序数据库如何构建企业碳足迹database
  • STM32开发必看:Keil中printf卡死?MicroLIB勾选+串口重定向保姆级教程
  • cJSON内存管理全指南:从cJSON_free到cJSON_Delete的正确使用姿势