JavaMySql面试题(上)--百分之百的命中率,超详细解答

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: JavaMySql面试题(上)--百分之百的命中率,超详细解答

所有的题目

这是数据代码:

-- 学生表
insert into t_mysql_student values('01' , '赵雷' , '1990-01-01' , '男');
insert into t_mysql_student values('02' , '钱电' , '1990-12-21' , '男');
insert into t_mysql_student values('03' , '孙风' , '1990-12-20' , '男');
insert into t_mysql_student values('04' , '李云' , '1990-12-06' , '男');
insert into t_mysql_student values('05' , '周梅' , '1991-12-01' , '女');
insert into t_mysql_student values('06' , '吴兰' , '1992-01-01' , '女');
insert into t_mysql_student values('07' , '郑竹' , '1989-01-01' , '女');
insert into t_mysql_student values('09' , '张三' , '2017-12-20' , '女');
insert into t_mysql_student values('10' , '李四' , '2017-12-25' , '女');
insert into t_mysql_student values('11' , '李四' , '2012-06-06' , '女');
insert into t_mysql_student values('12' , '赵六' , '2013-06-13' , '女');
insert into t_mysql_student values('13' , '孙七' , '2014-06-01' , '女');
-- 教师表
insert into t_mysql_teacher values('01' , '张三');
insert into t_mysql_teacher values('02' , '李四');
insert into t_mysql_teacher values('03' , '王五');
-- 课程表
insert into t_mysql_course values('01' , '语文' , '02');
insert into t_mysql_course values('02' , '数学' , '01');
insert into t_mysql_course values('03' , '英语' , '03');
-- 成绩表
insert into t_mysql_score values('01' , '01' , 80);
insert into t_mysql_score values('01' , '02' , 90);
insert into t_mysql_score values('01' , '03' , 99);
insert into t_mysql_score values('02' , '01' , 70);
insert into t_mysql_score values('02' , '02' , 60);
insert into t_mysql_score values('02' , '03' , 80);
insert into t_mysql_score values('03' , '01' , 80);
insert into t_mysql_score values('03' , '02' , 80);
insert into t_mysql_score values('03' , '03' , 80);
insert into t_mysql_score values('04' , '01' , 50);
insert into t_mysql_score values('04' , '02' , 30);
insert into t_mysql_score values('04' , '03' , 20);
insert into t_mysql_score values('05' , '01' , 76);
insert into t_mysql_score values('05' , '02' , 87);
insert into t_mysql_score values('06' , '01' , 31);
insert into t_mysql_score values('06' , '03' , 34);
insert into t_mysql_score values('07' , '02' , 89);
insert into t_mysql_score values('07' , '03' , 98);

一.第一题

01)查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数

分析:

          1.先查询01课程的学生  SELECT * FROM t_mysql_score sc WHERE sc.cid = '01'

          2.其次查询02 课程的学生    SELECT * FROM t_mysql_score sc WHERE sc.cid = '02'

          3.最后将其对比 01课程比02课程成绩高的学生     t1.score > t2.score

最终sql语句:

结果为:

 

二·.第二题

02)查询同时存在" 01 "课程和" 02 "课程的情况

分析:

          1.先查询01课程的学生  SELECT * FROM t_mysql_score sc WHERE sc.cid = '01'

          2.其次查询02 课程的学生    SELECT * FROM t_mysql_score sc WHERE sc.cid = '02'

          3.最后判断既有01课程的也有02课程的  WHERE    t1.sid = t2.sid   AND t1.sid = t3.sid

最终sql语句:

结果为:

 

三·.第三题

03)查询存在" 01 "课程但可能不存在" 02 "课程的情况

分析:

         1.一定存在01课程不一定存在02课程,

          2.先查询01课程的学生  SELECT * FROM t_mysql_score sc WHERE sc.cid = '01'

          3.其次查询02 课程的学生    SELECT * FROM t_mysql_score sc WHERE sc.cid = '02'

          4.运用外连接进行判断  join left  on

最终sql语句:

结果为:

 

四·.第四题

04)查询不存在" 01 "课程但存在" 02 "课程的情况

分析:

         1.一定存在02课程一定不存在01课程,

          2.先查询01课程的学生  SELECT * FROM t_mysql_score sc WHERE sc.cid = '01'

          3.其次查询02 课程的学生    SELECT * FROM t_mysql_score sc WHERE sc.cid = '02'

          4.将01课程的去除掉

最终sql语句:

结果为:

 

五·.第五题

05)查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩

分析:

         1.要进行连表查询 分别是学生表和成绩表

          2.为了避免重复,要进行分组,按照学生id和学生name

          3.还要进行筛选,平均分要大于60的

最终sql语句:

结果为:

 

 六·.第六题

06)查询在t_mysql_score表存在成绩的学生信息

分析:

         1.判断在成绩表的id,学生表里面有就可以了

最终sql语句:

结果为:

 

 七·.第七题

07)查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为 null )

分析:

         1.运用到count  计算数量 和sum  计算总和

最终sql语句:

 

结果为:

 

 八·.第八题

08)查询「李」姓老师的数量

分析:

         1.这题最简单,运用模糊查询即可,加一个count 计算数量

最终sql语句:

 

结果为:

 

今天的面试题到此结束啦,希望有不懂的可以评论区艾特哦

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
算法 测试技术
经典算法:最短点对
经典算法:最短点对
|
11月前
|
人工智能 人机交互 语音技术
让大模型能听会说,国内机构开源全球首个端到端语音对话模型Mini-Omni
【10月更文挑战第2天】国内研究机构提出的Mini-Omni是一个端到端的音频对话模型,实现了实时语音交互,标志着全球首个开源的端到端语音对话模型。通过文本引导的语音生成方法和批处理并行策略,Mini-Omni在保持语言能力的同时,实现了流畅的语音输出。研究团队还引入了VoiceAssistant-400K数据集进行微调,提升了模型性能。尽管如此,Mini_Omni在语音质量、计算资源需求及伦理监管方面仍面临挑战。论文详见:[链接]。
526 3
|
Arthas 监控 算法
JVM第一讲:JVM相关知识体系详解+面试(P6熟练 P7精通)
JVM第一讲:JVM相关知识体系详解+面试(P6熟练 P7精通)
366 2
|
人工智能 自然语言处理 搜索推荐
AIGC工具——ChatGPT
【1月更文挑战第11天】AIGC工具——ChatGPT
299 5
AIGC工具——ChatGPT
|
SQL 存储 安全
网络安全与信息安全:防范之道
随着互联网的普及,网络攻击手段日益翻新,网络安全问题愈发凸显。本文从网络安全漏洞、加密技术、安全意识等维度出发,深入剖析当前面临的挑战,并分享有效的防范策略。文章旨在为读者提供全面系统的网络安全知识,以增强个人和组织的安全防护能力。
|
存储 SQL Cloud Native
Bytebase加入阿里云PolarDB开源数据库社区
Bytebase签署阿里巴巴开源CLA(Contribution License Agreement, 贡献许可协议), 正式与阿里云PolarDB 开源数据库社区牵手。
453 0
Bytebase加入阿里云PolarDB开源数据库社区
|
Java
JAVA娱乐小项目——将图片转化为字符画
JAVA娱乐小项目——将图片转化为字符画
195 0
|
算法 Python
线代矩阵问题
线代矩阵问题
232 0
Kam
|
缓存 Java Spring
Spring缓存注解@Cacheable、@CachePut、@CacheEvict使用
Spring缓存注解@Cacheable、@CachePut、@CacheEvict使用
Kam
384 0
|
SQL 存储 缓存
MySQL再发一弹,不要再说不会了!
本文主要介绍 Mysql开发和面试中所必知的
160 0