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

MySQL常用练手题目

数据库表名和字段设计

1.学生表

Student(s_id,s_name,s_birth,s_sex)

学生编号,学生姓名, 出生年月,学生性别

2.课程表

Course(c_id,c_name,t_id)

课程编号, 课程名称, 教师编号

3.教师表

Teacher(t_id,t_name)

教师编号,教师姓名

4.成绩表

Score (s_id,c_id,s_score)

学生编号,课程编号,分数

建表语句

学生表

CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT '', `s_birth` VARCHAR(20) NOT NULL DEFAULT '', `s_sex` VARCHAR(10) NOT NULL DEFAULT '', PRIMARY KEY(`s_id`) );

课程表

CREATE TABLE `Course`( `c_id` VARCHAR(20), `c_name` VARCHAR(20) NOT NULL DEFAULT '', `t_id` VARCHAR(20) NOT NULL, PRIMARY KEY(`c_id`) ); 

教师表

CREATE TABLE `Teacher`( `t_id` VARCHAR(20), `t_name` VARCHAR(20) NOT NULL DEFAULT '', PRIMARY KEY(`t_id`) );

成绩表

CREATE TABLE `Score`( `s_id` VARCHAR(20), `c_id` VARCHAR(20), `s_score` INT(3), PRIMARY KEY(`s_id`,`c_id`) ); 

插入测试数据

学生表

insert into Student values('01' , '赵雷' , '1990-01-01' , '男'); 
insert into Student values('02' , '钱电' , '1990-12-21' , '男'); 
insert into Student values('03' , '孙风' , '1990-05-20' , '男'); 
insert into Student values('04' , '李云' , '1990-08-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吴兰' , '1992-03-01' , '女'); 
insert into Student values('07' , '郑竹' , '1989-07-01' , '女'); 
insert into Student values('08' , '王菊' , '1990-01-20' , '女'); 

教师表

insert into Course values('01' , '语文' , '02'); 
insert into Course values('02' , '数学' , '01'); 
insert into Course values('03' , '英语' , '03'); 

课程表

insert into Teacher values('01' , '张三');
insert into Teacher values('02' , '李四'); 
insert into Teacher values('03' , '王五'); 

成绩表

insert into Score values('01' , '01' , 80); 
insert into Score values('01' , '02' , 90); 
insert into Score values('01' , '03' , 99); 
insert into Score values('02' , '01' , 70); 
insert into Score values('02' , '02' , 60); 
insert into Score values('02' , '03' , 80); 
insert into Score values('03' , '01' , 80); 
insert into Score values('03' , '02' , 80); 
insert into Score values('03' , '03' , 80); 
insert into Score values('04' , '01' , 50); 
insert into Score values('04' , '02' , 30); 
insert into Score values('04' , '03' , 20); 
insert into Score values('05' , '01' , 76); 
insert into Score values('05' , '02' , 87);
insert into Score values('06' , '01' , 31);
insert into Score values('06' , '03' , 34); 
insert into Score values('07' , '02' , 89); 
insert into Score values('07' , '03' , 98); 

常见题目

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

select a.*,b.s_score as 01_score,c.s_score as 02_score from 
student ajoin score b on a.s_id=b.s_id and b.c_id='01'left join score c on a.s_id=c.s_id and c.c_id='02' or c.c_id = null whereb.s_score>c.s_score;

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

select b.s_id,b.s_name,ROUND(AVG(a.s_score),2) as avg_score fromstudent bjoin score a on b.s_id = a.s_idGROUP BY b.s_id,b.s_name HAVING avg_score >= 60;

3、查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩-- (包括有成绩的和无成绩的)

select b.s_id,b.s_name,ROUND(AVG(a.s_score),2) as avg_score fromstudent bleft join score a on b.s_id = a.s_idGROUP BY b.s_id,b.s_name HAVING avg_score < 60union
select a.s_id,a.s_name,0 as avg_score from student awhere a.s_id not in (select distinct s_id from score);

4、查询学过"张三"老师授课的同学的信息

select a.* fromstudent ajoin score b on a.s_id=b.s_id where b.c_id in(select c_id from course where t_id = (select t_id from teacher where t_name = '张三'));

5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩

select a.s_id,a.s_name,count(b.c_id) as sum_course,sum(b.s_score) as sum_score from student aleft join score b on a.s_id = b.s_idGROUP BY a.s_id,a.s_name;

6、查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

select a.* fromstudent a,score b,score cwhere a.s_id = b.s_id and a.s_id = c.s_id and b.c_id ='01' and c.c_id='02';

7、查询学过编号为"01"但是没有学过编号为"02"的课程的同学的信息

select a.* fromstudent awhere a.s_id in (select s_id from score where c_id='01') and a.s_id not in (select s_id from score where c_id='02');

相关文章:

MySQL常用练手题目

数据库表名和字段设计 1.学生表 Student(s_id,s_name,s_birth,s_sex) 学生编号,学生姓名, 出生年月,学生性别 2.课程表 Course(c_id,c_name,t_id) 课程编号, 课程名称, 教师编号 3.教师表 Teacher(t_id,t_name) 教师编号,教师姓名 4.成绩表 Score (s_id,c_id,s_score) 学生编号…...

Oracle字段长度不足位数补零

Oracle字段长度不足位数补零 有时候从数据库中取出的月份值是1&#xff0c;而不是01&#xff0c;该怎么办呢 SELECTLPAD( CODE_MONTH, 2, 0 ) FROMtb_cube_TY001 WHERECODE_BM_MEATYPE TY20 AND code_measure MYLX01 AND code_month <> ~ AND CODE_ENTITY 01A AND…...

<数据结构与算法>二叉树堆的实现

目录 前言 一、树的概念及结构 1 树的概念 2 树的相关概念 二、二叉树的概念及结构 1.二叉树的概念 2. 特殊的二叉树 3. 二叉树的性质 4.二叉树的存储结构 三、二叉树的顺序结构及实现 1.堆的性质 2.堆的插入 3.堆的实现 堆的结构体 HeapInit 初始化 HeapPush 插入 HeapPop 删…...

FPGA:RS编码仿真过程

FPGA&#xff1a;RS编码仿真过程 RS码是一种纠错性能很强的线性纠错码&#xff0c;能够纠正随机错误和突发错误。RS码是一种多进制BCH码&#xff0c;能够同时纠正多个码元错误。 之前已经记录了在MATLAB中进行rs编解码的过程&#xff0c;现在利用FPGA的IP核实现RS编码的过程&…...

RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景

作者&#xff1a;隆基 本文将从技术角度了解 RocketMQ 的云原生架构&#xff0c;了解 RocketMQ 如何基于一套统一的架构支撑多元化的场景。 文章主要包含三部分内容。首先介绍 RocketMQ 5.0 的核心概念和架构概览&#xff1b;然后从集群角度出发&#xff0c;从宏观视角学习 R…...

Android su

1. userdebug和user版本 2. 关闭selinux system/core diff --git a/init/selinux.cpp b/init/selinux.cpp index 5a0255acd..787917274 100644--- a/init/selinux.cpp b/init/selinux.cpp -104,6 104,8 EnforcingStatus StatusFromCmdline() { } bool IsEnforcing() { …...

微信小程序真机调试异常cmdId 1006, errCode-50011-已解决

cmdId 1006, errCode-50011 起因 小程序在模拟器上预览没问题,真机调试和体验版首页打不开,点展开显示cmdId 1006, errCode-50011 解决 查了下1006, 说是广告, 我没接广告,这个也不是错误码 1006广告组件被驳回你的广告正在被审核,无法展现广告后来找到几个类似的帖子…...

36.SpringMVC视图

SpringMVC视图 SpringMVC中的视图是View接口&#xff0c;视图的作用渲染数据&#xff0c;将模型Model中的数据展示给用户 SpringMVC视图的种类很多&#xff0c;默认有转发视图(InternalResourceView)和重定向视图(RedirectView) 配置视图&#xff1a; 当工程引入jstl的依赖&a…...

LeetCode 热题 100(四):48. 旋转图像、240. 搜索二维矩阵 II、234. 回文链表

一.48. 旋转图像 题目要求&#xff1a;就是一个顺时针的旋转过程。 思路&#xff1a;观察矩阵&#xff0c;得出翻转前第i行的第J个元素 等于 翻转后倒数第i列的第J个元素&#xff0c;举例说明&#xff0c;第1行第2个元素为“2”&#xff0c;翻转后到了 倒数第1列的第2个元素…...

Qt 编译使用Bit7z库接口调用7z.dll、7-Zip.dll解压压缩常用Zip、ISO9660、Wim、Esd、7z等格式文件(二)

修改qt5 7zip源码编译及使用(含展示进度)一文中的封装类ZlibHelper代码类&#xff0c;继承多线程&#xff0c;使解压&#xff0c;压缩时进度条不影响界面&#xff0c;同时添加压缩文件中的文件预览功能&#xff0c;建议直接看源码 导读 相关代码内容扩展预览内容时获取文件修改…...

224、仿真-基于51单片机音乐播放器流水灯控制Proteus仿真设计(程序+Proteus仿真+原理图+程序流程图+元器件清单+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、原理图 五、程序源码 资料包括&#xff1a; 需要完整的资料可以点击下面的名片加下我&#xff0c;找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选…...

虹科展会 | 自动驾驶展品:上海汽车测试展精彩回顾

2023年8月9日-8月11日&#xff0c;上海国际汽车测试及质量监控博览会在上海圆满落幕。本次展会提供了一个了解最新汽车测试及质量监控技术、产品和趋势的机会&#xff0c;同时也是汽车测试及质量监控领域的专业人士和业内人士的重要交流平台。 雅名特是虹科旗下子公司&#xff…...

Unity自定义脚本的 初始模版

参考博主&#xff1a;Unity修改创建的脚本模板&#xff0c;Unity脚本模板路径_unity hub 怎么改脚本模板_先生沉默先的博客-CSDN博客 【100个 Unity实用技能】 ☀️ | Unity自定义脚本的初始模版_unity 模板脚本_呆呆敲代码的小Y的博客-CSDN博客 一&#xff0c;将脚本放到Ed…...

vue3中使用第三方插件mitt实现任意组件通讯

vue3中使用第三方插件mitt实现任意组件通讯 组件通讯是vue3组合式开发的核心之一&#xff0c;现在我在写代码时&#xff0c;一个组件的代码超过了200行&#xff0c;基本都会拆分组件。组件拆分后&#xff0c;组件之间的通讯就很重要&#xff0c;总结了一下&#xff0c;目前有这…...

(五)、深度学习框架源码编译

1、源码构建与预构建&#xff1a; 源码构建&#xff1a; 源码构建是通过获取软件的源代码&#xff0c;然后在本地编译生成可执行程序或库文件的过程。这种方法允许根据特定需求进行配置和优化&#xff0c;但可能需要较长的时间和较大的资源来编译源代码。 预构建&#xff1a; 预…...

迈向通用听觉人工智能!清华电子系、火山语音携手推出认知导向的听觉大语言模型SALMONN

日前&#xff0c;清华大学电子工程系与火山语音团队携手合作&#xff0c;推出认知导向的开源听觉大语言模型SALMONN (Speech Audio Language Music Open Neural Network)。 大语言模型 SALMONN LOGO 相较于仅仅支持语音输入或非语音音频输入的其他大模型&#xff0c;SALMONN对…...

NOIP 2015 扫雷(mine)

扫雷&#xff08;mine&#xff09; 说明 扫雷游戏是一款十分经典的单机小游戏。在 n行 m 列的雷区中有一些格子含有地雷&#xff08;称之为地雷格&#xff09;&#xff0c;其他格子不含地雷&#xff08;称之为非地雷格&#xff09;。玩家翻开一个非地雷格时&#xff0c;该格将会…...

elaticsearch(3)

整合springboot 1.整合依赖 注意依赖版本和安装的版本一致 <properties> <java.version>1.8</java.version> <!-- 统一版本 --> <elasticsearch.version>7.6.1</elasticsearch.version> </properties> 导入elastics…...

DevOps系列文章 之 Gitlab+Docker自动部署SpringBoot

1.环境要求 以下服务器的操作系统均为Centos7 服务器A&#xff1a;Gitlab服务器B&#xff1a;GitlabRunner、Docker、docker-compose、Java1.8、maven3.6.3、git ps&#xff1a;这里可以把服务器B的GitlabRunner、Java1.8、maven3.6.3、git单独提出来&#xff0c;独立部署&a…...

React Native 列表组件基础知识

ScrollView 组件 ScrollView组件是一个容器滚动组件&#xff0c;当容器超出指定宽高时就可以进行滚动交互。 ScrollView组件是一次性渲染所有的 React 子组件&#xff0c;这在性能上是比较差的&#xff0c;所以不建议当列表特别长的时候使用此组件。 接下来列举几个常用的一…...

大语言模型+进化算法:LLM-LNS如何解决传统MILP优化难题?

大语言模型与进化算法融合&#xff1a;LLM-LNS如何重塑复杂优化问题求解范式 当在线零售商需要实时优化数万个包裹的装箱方案&#xff0c;或是物流公司面临百万级城市的路径规划时&#xff0c;传统优化算法往往陷入"维度灾难"的困境。混合整数线性规划&#xff08;M…...

【Zynq 进阶三】榨干带宽!深度解析 Linux 下 AXI DMA 高速数据搬运与 Cache 一致性实战

【Zynq 进阶三】榨干带宽&#xff01;深度解析 Linux 下 AXI DMA 高速数据搬运与 Cache 一致性实战 文章目录【Zynq 进阶三】榨干带宽&#xff01;深度解析 Linux 下 AXI DMA 高速数据搬运与 Cache 一致性实战&#x1f4dd; 前言&#xff1a;为什么 UIO 搞不定海量数据&#xf…...

百川2-13B量化版性能实测:OpenClaw长任务下的Token消耗与稳定性

百川2-13B量化版性能实测&#xff1a;OpenClaw长任务下的Token消耗与稳定性 1. 测试背景与动机 上周在尝试用OpenClaw自动化处理一个包含2000多份PDF的文献库时&#xff0c;遇到了令人头疼的Token消耗问题。原本计划让AI助手完成"读取PDF标题-提取关键词-分类归档"…...

3个步骤掌握AI音乐创作:语音模型驱动的开源工具实践指南

3个步骤掌握AI音乐创作&#xff1a;语音模型驱动的开源工具实践指南 【免费下载链接】AICoverGen A WebUI to create song covers with any RVC v2 trained AI voice from YouTube videos or audio files. 项目地址: https://gitcode.com/gh_mirrors/ai/AICoverGen AI翻…...

Wan2.2-I2V-A14B极限测试:挑战生成复杂网络拓扑结构的动态演化视频

Wan2.2-I2V-A14B极限测试&#xff1a;挑战生成复杂网络拓扑结构的动态演化视频 1. 开场白&#xff1a;当AI遇见网络拓扑 最近在测试Wan2.2-I2V-A14B模型时&#xff0c;我突发奇想&#xff1a;这个号称能理解复杂概念的文生视频模型&#xff0c;能否准确呈现网络拓扑结构的动态…...

Linux驱动工程师面试技术要点与开发实践

Linux驱动工程师面试技术要点解析 1. 面试技术问题深度剖析 1.1 基础驱动开发能力考察 面试中关于驱动开发的基础问题主要考察候选人对底层通信协议的理解程度。I2C总线作为嵌入式系统中最常用的通信接口之一&#xff0c;其起始信号&#xff08;START Condition&#xff09;的…...

Llama-3.2V-11B-cot企业级落地:保险定损图片自动归因与责任链推理

Llama-3.2V-11B-cot企业级落地&#xff1a;保险定损图片自动归因与责任链推理 想象一下&#xff0c;你是一名保险公司的定损员。每天&#xff0c;你的邮箱里塞满了上百张事故现场照片——撞瘪的车头、破碎的挡风玻璃、划痕累累的车门。你需要从这些照片里&#xff0c;像侦探一…...

PHP Monitor自定义配置教程:设置预设、环境变量和应用集成

PHP Monitor自定义配置教程&#xff1a;设置预设、环境变量和应用集成 【免费下载链接】phpmon Lightweight, native Mac menu bar app that helps you manage multiple PHP installations, locate config files and more. Also interacts with Laravel Valet. 项目地址: htt…...

电动汽车 Simulink 模型探索:从模块到实际应用

电动汽车模型的各模块simulink模型包括驾驶员模块&#xff0c;电机模块&#xff0c;控制器模块等&#xff0c;包含模块讲解文档在电动汽车的研发领域&#xff0c;通过 Simulink 构建模型是深入理解和优化车辆性能的关键一步。今天咱们就来唠唠电动汽车模型里几个重要的 Simulin…...

eUICC 配置文件结构 (Profile Structure) 的核心组件与权限管理解析

1. eUICC配置文件结构入门指南 想象一下你的手机SIM卡突然变成了一张"万能卡"——这就是eUICC技术带来的变革。与传统SIM卡不同&#xff0c;eUICC&#xff08;嵌入式通用集成电路卡&#xff09;最神奇的地方在于它能远程切换不同运营商的配置文件&#xff08;Profil…...