面试-Sql专题-1-必会的10个sql

经典Hive SQL面试题 第一题 需求 我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1/22 8 u04 2017/1/20 3 u01 2017/1/23 6 u01 2017/2/21 8 U02 2017/1/23 6 U01 2017/2/22 ... 阅读详情
  1. 不管是JavaEE工程师还是大数据工程师,都需要良好的SQL功底。
  2. 良好的SQL功底也成了JavaEE工程师和大数据工程师求职必备技能。
  3. 收集整理网上一些经典的Sql以及一些Sql笔试真题,写成几篇文章供大家参考。
  4. 基于Mysql。

创建数据库

CREATE DATABASE mianshi_1 CHARACTER SET utf8

创建表

CREATE TABLE `stuscore` (
  `name` varchar(50) DEFAULT NULL,
  `subject` varchar(50) DEFAULT NULL,
  `score` int DEFAULT NULL,
  `stuid` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据

insert into stuscore values ('张三','数学',89,1); 
insert into stuscore values ('张三','语文',80,1); 
insert into stuscore values ('张三','英语',70,1); 
insert into stuscore values ('李四','数学',90,2); 
insert into stuscore values ('李四','语文',70,2); 
insert into stuscore values ('李四','英语',80,2); 
insert into stuscore values ('王五','数学',77,3);
insert into stuscore values ('王五','语文',88,3); 
insert into stuscore values ('王五','英语',99,3); 

效果
在这里插入图片描述

1.计算每个人的总成绩并排名(要求显示字段:姓名,总成绩)

sql

SELECT
	NAME,
	SUM(score) AS allscore
FROM
	stuscore
GROUP BY
	NAME
ORDER BY
	allscore;

效果

在这里插入图片描述

2.计算每个人的总成绩并排名(要求显示字段: 学号,姓名,总成绩

sql

SELECT
	stuid,
	NAME,
	SUM(score) AS allscore
FROM
	stuscore
GROUP BY
	NAME,
	stuid
ORDER BY
	allscore;

效果

在这里插入图片描述

3.计算每个人单科的最高成绩(要求显示字段: 学号,姓名,课程,最高成绩)

sql

SELECT
	t1.stuid,
	t1. NAME,
	t1. SUBJECT,
	t1.score
FROM
	stuscore t1,
	(
		SELECT
			stuid,
			max(score) AS maxscore
		FROM
			stuscore
		GROUP BY
			stuid
	) t2
WHERE
	t1.stuid = t2.stuid
AND t1.score = t2.maxscore;

效果

在这里插入图片描述

4.计算每个人的平均成绩(要求显示字段: 学号,姓名,平均成绩)

sql

SELECT
	stuid,
	NAME,
	AVG(score) avgscore
FROM
	stuscore
GROUP BY
	stuid;

效果

在这里插入图片描述

5.列出各门课程成绩最好的学生(要求显示字段: 学号,姓名,科目,成绩)

sql

SELECT
	t1.stuid,
	t1. NAME,
	t1. SUBJECT,
	t1.score
FROM
	stuscore t1,
	(
		SELECT
			max(score) maxsore,
			SUBJECT
		FROM
			stuscore
		GROUP BY
			SUBJECT
	) t2
WHERE
	t1. SUBJECT = t2. SUBJECT
AND t1.score = t2.maxsore;

效果

在这里插入图片描述

6.列出各门课程成绩,最好的两位学生(要求显示字段: 学号,姓名,科目,成绩)

这个是典型的topN问题
mysql没有此top n语法,mysql用limit来实现相关功能

sql

(select stuid,name,subject,score from stuscore where subject='语文' order by score desc limit 2)
UNION ALL
(select stuid,name,subject,score from stuscore where subject='数学' order by score desc limit 2)
UNION ALL
(select stuid,name,subject,score from stuscore where subject='英语' order by score desc limit 2)

效果

在这里插入图片描述

7.列出数学成绩的排名(要求显示字段:学号,姓名,成绩,排名)

sql

SELECT
	t1.* ,(
		SELECT
			COUNT(1)
		FROM
			stuscore t2
		WHERE
			subject='数学' and t2.score >= t1.score
	) rank
FROM
	stuscore t1
where subject='数学'
ORDER BY
	rank

效果

在这里插入图片描述

8.列出数学成绩在2-3名的学生(要求显示字段:学号,姓名,科目,成绩)

###sql

select stuid,name,subject,score from stuscore where subject='数学' order by score desc limit 1,2

###效果
在这里插入图片描述

9. 查询出如下效果

###效果
在这里插入图片描述

###sql

select stuid 学号,name 姓名,
sum(case when subject='语文' then score else 0 end )as 语文,
sum(case when subject='数学' then score else 0 end )as 数学,
sum(case when subject='英语' then score else 0 end )as 英语,
SUM(score)总分,avg(score)平均分 from stuscore
group by stuid,name order by 总分;

10. 查询出如下效果

课程 不及格(0-59)个 良(60-80)个 优(81-100)个
###效果
在这里插入图片描述

###sql

 select subject 科目,
 sum(case when score between 0 and 59 then 1 else 0 end) as 不及格,
 sum(case when score between 60 and 80 then 1 else 0 end) as 良,
 sum(case when score between 81 and 100 then 1 else 0 end) as 优秀 
 from stuscore
 group by subject;
告别里程焦虑:手把手教你用MATLAB/Simulink仿真电动车AMT换挡规律(附代码) 本文详细介绍了如何使用MATLAB/Simulink仿真电动车AMT换挡规律,帮助解决里程焦虑问题。通过搭建完整的仿真系统,包括电机MAP图处理、Stateflow逻辑实现和动力性与经济性换挡曲线生成,优化电动车换挡策略以提升续航与性能。附带的代码示例和实用技巧使开发者能够快速上手并验证仿真结果。 阅读详情

相关推荐

大模型训练中的AllReduce:从原理到实战,如何优化你的分布式训练效率

本文深入解析了大模型分布式训练的核心通信操作AllReduce,特别是高效的Ring All-Reduce算法原理。文章从实战角度出发,探讨了如何通过通信计算重叠、梯度累积策略、NCCL库调优以及混合并行通信优化等手段,有效降低通信开销,从而显著提升大模型训练效率。

julia4scientist的博客 526

常见SQL面试题知识点+使用技巧

点击关注上方“数据不吹牛”,设为“置顶或星标”,第一时间送达干货SQL是用于数据分析和数据处理的最重要的编程语言之一,因此与数据科学相关的工作(例如数据分析师、数据科学家和数据工程师)在...

SeizeeveryDay的博客 1173

java结合Ai

Spring AI 是 AI 工程的应用框架。其目标是将Spring生态系统的设计原则(如可移植性和模块化设计)应用于AI领域,并促进使用POJO作为应用程序的构建块到AI领域。特征跨 AI 提供商的可移植 API 支持,适用于聊天、文本到图像和嵌入模型。支持同步 API 和流 API 选项。还支持下拉以访问特定于模型的功能。聊天模型亚马逊基岩人类学Cohere的命令AI21 Labs的侏罗纪-2Meta 的 LLama亚马逊的泰坦人类学克劳德Azure 开放式 AI。

qq_67832732的博客 2850

sql modify 会丢失数据么_面试数据分析会遇到的SQL题

「1」说在前面数据存放在数据库里,以表的形式分门别类。宜家的商品(数据)放在宜家的仓库(数据库)里,以货位的形式分门别类。在宜家,可以通过商品上的编号,查到商品在仓库的排号和位号,取到商品。SQL 语言是一种通用的数据库查询语言,可以通过 SQL 语言从数据库里获取到想要的数据内容。巧妇难为无米之炊。这是数据分析师拿到“米”的重要技能,所以说 SQL 语言对于数据分析从业者来说很重要。SQL 语言...

weixin_39732249的博客 472

【目标检测】yoloV5算法详解

一、与yoloV4相比,yoloV5的改进 输入端:在模型训练阶段,使用了Mosaic数据增强、自适应锚框计算、自适应图片缩放 基准网络:使用了FOCUS结构和CSP结构 Neck网络:在Backbone和最后的Head输出层之间插入FPN_PAN结构 Head输出层:训练时的损失函数GIOU_Loss,预测筛选框的DIOU_nns 二、yoloV5结构框架 CBL:CBL模块是由Conv+BN+Leaky_relu激活函数组成 Res unit:借鉴ResNet中的残差结构,用来构建深层网络,CBM是

qq_40373651的博客 2万+

TCP Reno/CUBIC 拥塞控制算法对比:从 Tahoe 到 BBR 的 4 种核心策略演进

本文深入解析了TCP拥塞控制算法的演进历程,从经典的Tahoe、Reno到现代的CUBIC和BBR,详细对比了4种核心策略的实现机制与性能差异。通过分析拥塞窗口、流量控制等关键技术,揭示了不同算法在高带宽延迟网络中的优化方向,为网络协议栈优化提供理论依据和实践指导。

weixin_33725239的博客 442

【面试必备】除了基本的增删改查外,面试官好问的那些看上去高级但又非常实用的Sql查询语句(以Mysql为例),涵盖视图和存储过程等众多知识点

在平时的面试中,我们经常遇到面试官考我们的SQL功底,当然并不是考我们的基本的增删改查这些简单的SQL,而是那些我们不经常使用的,通常在你原来的公司你不怎么关注但在新公司却常用的语句。这种情况下,如果你回答的好,就等于成功了一半。我有一次就遇到这种面试的题目,让我说出Mysql除了基本的加减乘除平均数这些函数外还有哪些函数,我一听蒙了,本来我们用JPA,原生sql的不是很多的,这就蛋疼了,然后凭借记忆说了几个比如天花板函数ceil,拼接函数concat,以及转大小写的函数upper,lower。但是我看面.

爱吃早餐的程序员 787

飞思卡尔16位单片机(二)——CodeWarrior开发环境搭建及新建、调试工程

一、安装CodeWarrior 飞思卡尔16位单片机的开发环境为CodeWarrior5.1,这个软件安装比较简单,软件的安装文件可以从相应的网站上下载。安装CodeWarrior所需要的电脑的硬件资源也比较宽泛,目前一般的电脑都可以满足这个要求,可以支持win10、win7等操作系统。安装过程按照按照软件的提示一步步操作即可。 二、安装USBDM驱动 USBDM是...

bigmarshal的博客 1万+

面试官:你都工作2年了,这8条查询sql题不会做?

前言 在使用mysql数据库使用中,最常用,也最考验mysql功底的是sql查询,,sql查询中相对复杂的莫过于子查询。以下这20题是难度依次递增的子查询相关题目。可以用来检验你是否拥有可以使用mysql初级水平的考验!面对疾风吧!!!!(以下题目是sql专家康师傅提供) 表信息 接下来我们大致介绍一下表信息 主要分为员工表EMPLOYEES,部门表DEPARTMENTS,地点表LOCATIONS EMPLOYEES包含 employee_id 员工id,唯一 first_name 名

uuqaz的博客 7686

069_死区效应对输出电压畸变的补偿思路

死区效应导致逆变器输出电压在过零点出现台阶畸变,引发THD升高。其本质是死区期间续流二极管钳位造成的非线性误差,与电流方向、负载大小、母线电压耦合。补偿需结合前馈(基于电流方向自适应调整偏置)与反馈(抑制残余谐波),关键在于准确判断电流方向(采用滞环滤波避免跳变)、合理设置补偿量(随负载动态调整),并注意补偿位置、极性及限幅防漂移。调试应通过差分探头、FFT频谱等手段验证效果,最终实现全负载范围内的低畸变输出。

2401_88858637的博客 22

杰理可视化SDK开发-杰理AC1123N芯片SDK开发笔记合集

该文档主要描述 AC112N开发相关的使用说明和注意事项,收集并持续更新开发调试过程中的相关疑问和解答,对SDK介绍文档做一个补充说明。写作人:李永奉,参考项目MD-026H; AC112N-SDK项目帮助文档在杰理开发者平台(JL DP)'帮助'处进入,如本文档有与后续帮助文档或工具注释说明冲突,以后者为标准。

李永奉的博客 188

sql笔记

1 从一个sql看功底的深浅。          昨天,被一个网友问一个sql,不报错,但结果没有变化。sql是形如   update team set team_scroe=team_scroe+10 where id=2          其中team_scroe是int型 默认值设为null。 数据库mssql 2005。         初看这个sql,我没看出来哪有问题。

椰子itcoco的专栏 735

鸿蒙ArkUI内部API10以及11开发,输入框唤起输入法键盘,页面会被顶起的解决办法

鸿蒙ArkUI内部API10以及11开发,输入框唤起输入法键盘,页面会被顶起的解决办法

zmx781284440的博客 3215

SQL面试必会50题(含答案和学习链接)

最近在刷 sql 题,刷完了网上的 SQL 面试必会 50 题,现把我的答案和思路整理如下,供大家参考。 这是目录一、创建四张表二、SQL面试必会50题(不含答案)三、SQL面试必会50题(含答案)四、学习资料 一、创建四张表 如图,以上学生表、成绩表、课程表、教师表是我们所有题目的基础表,创建的语句如下: --学生表 CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT '', `s_bir.

欢迎来到小丁的技术空间 3万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SQL优化面试专题

介绍: 无论您是创建Web应用程序的开发人员,还是参与Web测试的DBA或测试人员,SQL方面的技巧在数据库编程和数据库验证中都非常重要。因此,我们整理了QL性能优化方面的面试问题。 SQL性能优化是一项艰巨的任务,并且是处理Web应用程序日益增加的负载的关键。 因此,我们有选择地选择了SQL性能优化方面的面试问题,这些问题可以使您充分了解SQL性能优化概念。 MySQL 基本是每个后台面试者必问的问题,而SQL优化又是MySQL中重之又重的一块了。如果你的SQL优化回答的好,有条理,那你入取的概率

Firstlucky77的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

数据分析sql面试必会6题经典_轻松搞定数据分析之SQL——经典面试题

你好哇!我猜看到这篇文章并且点进来的你,要么是正在准备数据行业的面试,要么就是未来可能要参加数据行业的面试。嗯……如果猜错了,嘤嘤嘤……求放过!总之,不管什么原因,很高兴遇见你!要说近几年最火的职业之一,肯定少不了数据分析师。正如大部分公司招聘需求上都写着“熟练掌握SQL语言”一样,所有想做数据分析师的求职者简历中,技能一栏一定都写着SQL!学习一门技能,最重要的是最后能不能运用到你的面试和工作当...

weixin_35991292的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

MySql面试题、知识汇总、牛客网SQL专题练习

数据库链接地址: Linux运维必会的100道MySql面试题之(一) Linux运维必会的100道MySql面试题之(二) Linux运维必会的100道MySql面试题之(三) Linux运维必会的100道MySql面试题之(四) 史上最全的大厂Mysql面试题在这里 企业面试题|最常问的MySQL面试题集合(一) 企业面试题|最常问的MySQL面试题集合(二) 面试中有哪些经典的数据库问题? ...

R18830287035的博客 3090

SQL面试必会50题

引用:SQL面试必会50题:其中重点为:1/2/5/6/7/10/11/12/13/15/17/18/19/22/23/25/31/35/36/40/41/42/45/46 共16题超级重点 18和23、 22和25 、 41、46几个重要函数【19】【17、35】year()week()month()【31】,返回data1-data2的天数【46,47,48,50】

qq_42958831的博客 2750

数据分析sql面试必会6题经典_SQL常见面试题

SQL主要是用来到数据库里查询数据,这是数据分析过程的第一步。你要分析数据,首先要获取数据。所以,这是转行到数据分析岗位的必备技能。感谢 @猴子 老师的“猴子聊人物”公众号,我入门SQL就是在猴子的“转行数据分析师闯关教程”里学到的。柯本:新手如何学习SQL​zhuanlan.zhihu.com柯本:《MySQL必知必会》学习小结​zhuanlan.zhihu.com一、SQL性能优化题SQL语句...

weixin_39611008的博客 3万+

sql小白面试必会的20个问题

对于SQL小白来说,面试时掌握一些基础且关键的问题和概念是非常重要的。

chengxuyuan1213_的博客 757

SQL面试必知必会30问

子查询是嵌套在主查询中的查询,可以用在SELECT, FROM, WHERE等子句中。​​​​​​​窗口函数在不减少行数的情况下执行计算,常用于排名、移动平均等分析。​​​​​​​CTE(公用表表达式)使用WITH子句创建临时结果集,提高复杂查询的可读性。​​​​​​​。

呱牛 Just do IT 1128

SQL岗位30个面试题,SQL面试问题及答案

SQL岗位30个面试题,SQL面试问题及答案: 什么是SQL? SQL(结构化查询语言)是一种设计用于检索和操作数据的数据库。它属于美国国家标准协会(ANSI)的一种标准,可用于执行Select(选择)、Update(更新)、Delete(删除)和Insert(插入)等数据任务。 数据库中的表和字段是什么? 表是在具有列和行的模型中设计的数据集合。在表中,指定了列数称为字段,但未定义行数称...

qfxulei的博客 2万+

数据分析sql面试必会6题经典_SQL面试经典50题:带你从建表开始!

大家好,相信很多学习数据分析的小伙伴在面试前都经历过刷题,本系列小编将带大家一起来刷一刷SQL面试必会的经典50题。当然本系列文章不单单是刷题,小编会带着大家梳理一下解题时用到的知识点,所以基础比较差的小伙伴也完全不必担心,小编会带着大家由浅入深,一步一步实现解题过程。你准备好了吗?相信读完本系列文章之后,你会觉得:哇!SQL原来如此简单和有意思。(注:小编用的是MySQL8.0)一.表的创建和数...

weixin_39528525的博客 1597

面试必知必会(14):MySQL执行计划与SQL优化

本文是Java面试系列文章中的一篇,重点讲解MySQL执行计划与SQL优化。文章首先概述MySQL查询执行流程,包括连接器、解析器、优化器等关键步骤。核心部分详细解读EXPLAIN命令的输出字段,如访问类型(type)、索引使用(key)、扫描行数(rows)等重要指标。随后提供SQL优化实战技巧:合理使用索引(遵循最左前缀原则)、避免SELECT*以减少数据传输、优化ORDER BY与GROUP BY操作等。通过实际示例演示如何分析执行计划并优化查询性能,帮助开发者掌握MySQL性能调优的核心方法。

从基础到源码解析的学习记录 2756

10 场外企面试经验总结

800多万的毕业生大军,祖国人才是多么旺盛。 历年的大学生毕业统计,给我们敲了一下警钟。你看着周边的同学,都是不紧不慢的样子,但实际上统计局的数字却一直是热乎乎的。 去年有 820万的大学毕业生,根据智联招聘 3 月份发布的《2018 年应届生就业力调研报告》显示,至少 1/4 的同学没有收到任何一份 offer, 而今年只会更多。从去年各大厂把自己的秋招都提...

wujiandao的专栏 7146
上一篇: erp-重难点-权限管理-6
下一篇: JavaEE,大数据-面试-Sql专题-2-MySql经典案例
billycoder
博客等级 码龄17年 171粉丝 188原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值