MySQL50题

news2025/4/12 4:05:19

四张表: 

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` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`stu_name` VARCHAR(16) NOT NULL DEFAULT '0' COMMENT '学生姓名',
	`stu_age` VARCHAR(50) NOT NULL DEFAULT '0' COMMENT '学生年龄',
	`stu_sex` VARCHAR(50) NULL DEFAULT NULL COMMENT '性别,1男,2女',
	PRIMARY KEY (`id`)
)
COMMENT='学生表';

INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (1, '赵雷', '1990-01-01', '男');
INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (2, '钱电', '1990-12-21', '男');
INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (3, '孙风', '1990-05-20', '男');
INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (4, '李云', '1990-08-06', '男');
INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (5, '周梅', '1991-12-01', '女');
INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (6, '吴兰', '1992-03-01', '女');
INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (7, '郑竹', '1989-07-01', '女');
INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (8, '王菊', '1990-01-20', '女');
INSERT INTO `student` (`id`, `stu_name`, `stu_age`, `stu_sex`) VALUES (9, '冯丽', '1990-01-26', '女');

 创建课程表,并且插入数据:

CREATE TABLE `course` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`course_name` VARCHAR(50) NULL DEFAULT '0' COMMENT '课程名称',
	`t_id` INT(11) NULL DEFAULT '0' COMMENT '教师id',
	PRIMARY KEY (`id`)
)
COMMENT='课程表'
COLLATE='utf8_general_ci';

INSERT INTO `course` (`id`, `course_name`, `t_id`) VALUES (1, '语文', 2);
INSERT INTO `course` (`id`, `course_name`, `t_id`) VALUES (2, '数学', 1);
INSERT INTO `course` (`id`, `course_name`, `t_id`) VALUES (3, '英语', 3);
INSERT INTO `course` (`id`, `course_name`, `t_id`) VALUES (4, '物理', 4);
INSERT INTO `course` (`id`, `course_name`, `t_id`) VALUES (5, '生物', 4);

  创建成绩表,并且插入数据:

CREATE TABLE `score` (
	`student_id` INT(11) NULL DEFAULT NULL COMMENT '学生id',
	`course_id` INT(11) NULL DEFAULT NULL COMMENT '课程id',
	`score` INT(11) NULL DEFAULT NULL COMMENT '分数',
	UNIQUE INDEX `course_id_student_id` (`student_id`, `course_id`)
)
COMMENT='成绩表'
COLLATE='utf8_general_ci';

INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (1, 2, 90);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (8, 3, 89);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (5, 2, 87);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (3, 5, 86);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (1, 3, 86);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (3, 1, 81);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (3, 2, 80);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (3, 3, 80);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (2, 3, 80);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (5, 1, 76);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (5, 3, 69);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (2, 2, 60);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (6, 3, 59);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (6, 4, 59);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (4, 3, 59);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (4, 1, 50);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (2, 4, 50);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (6, 1, 31);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (4, 2, 30);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (9, 3, 30);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (7, 3, 30);
INSERT INTO `score` (`student_id`, `course_id`, `score`) VALUES (7, 4, 25);

 创建教师表,并且插入数据:

CREATE TABLE `teacher` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`t_name` VARCHAR(50) NOT NULL COMMENT '教师名称',
	PRIMARY KEY (`id`)
)
COMMENT='教师表'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=5
;

INSERT INTO `teacher` (`id`, `t_name`) VALUES (1, '张三');
INSERT INTO `teacher` (`id`, `t_name`) VALUES (2, '李四');
INSERT INTO `teacher` (`id`, `t_name`) VALUES (3, '王五');
INSERT INTO `teacher` (`id`, `t_name`) VALUES (4, '叶平');

题目1:查询哪些学生的01这门课的成绩比02这门课成绩高

只用到一张表,成绩表Score,这张表里面有三个字段,s_id,c_id,s_score

考察自连接:

都是score分数表,一张给它起别名叫表a,专门用来查01这门课程的分数,另一张给它起别名叫表b,专门用来查02这门课程的分

select *
from  score a
where  a.c_id='01'


select  *
from  score b
where  b.c_id='02'

 现在连接两张表:

SELECT  a.s_id,a.s_score course01,b.s_score course02
FROM   score a,score  b
WHERE  a.c_id='01' AND  b.c_id='02'  AND  a.s_id=b.s_id  AND a.s_score>b.s_score 

 题目2:查询平均成绩大于等于60分的同学的学生编号和平均成绩

这道题显然直接告诉你最后结果需要呈现两列 学生编号,平均成绩

用到score这张表:

主要可以学到group by进行分组

select   a.s_id,
         avg(a.s_score)  avg_s   
from    score  a
group  by  a.s_id

select   a.s_id,
         avg(a.s_score)  avg_s   
from    score  a
group  by  a.s_id
having   avg(a.s_score)>=60

 如果还要查询出学生的姓名,则还要连接学生表student这张表

select   a.s_id,
         avg(a.s_score)  avg_s   
         s.s_name
from    score  a,student  s
where   a.s_id=s.s_id
group  by    a.s_id
having   avg(a.s_score)>=60

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/168160.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何下载通达信接口 费用如何?

之前我分享了自编的一些通达信指标公式。经粉丝咨询,我发现自己疏忽了一个问题:许多人不知道如何下载/使用通达信接口软件! 通达信软件PC版,有以下两种形态: 第一种形态是官方版。 官方版的软件下载链接在这里&…

C语言—文件操作(学好文件操作,再也不用担心数据丢失)

专栏:C语言 个人主页:HaiFan. 专栏简介:本专栏主要更新一些C语言的基础知识,也会实现一些小游戏和通讯录,学时管理系统之类的,有兴趣的朋友可以关注一下。 文件操作前言一、为什么使用文件二、什么是文件1.…

Leetcode:538. 把二叉搜索树转换为累加树(C++)

目录 问题描述: 实现代码与解析: 反中序遍历法: 原理思路: 迭代: 原理思路: 问题描述: 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树&…

共享模型之管程(九)

1.ReentrantLock可重入锁 1.1.简介 1>.可重入是指同一个线程如果首次获得了这把锁,那么由于它是这把锁的拥有者,因此该线程有权利(/优先)再次获取这把锁;如果是不可重入锁,那么第二次获得锁时,自己也会被锁挡住; ReentrantLock底层也是基于Monitor对象实现的,只不过它是在…

java支持的数据类型2023006

Java语言支持的类型分为两类:基本类型(Primitive Type)和引用类型(Reference Type)。 –基本类型包括boolean类型和数值类型。数值类型有整数类型和浮点类型。整数类型包括byte、short、int、long、char,浮…

dp(九)不同的子序列

不同的子序列_牛客题霸_牛客网【牛客题霸】收集各企业高频校招笔面试题目,配有官方题解,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://www.nowcoder.com/practice/ed2923e49d3d495f83…

Vue知识系列-axios

一、axios基础知识 axios是独立于vue的一个项目,基于promise用于浏览器和node.js的http客户端。 在浏览器中可以帮助我们完成ajax请求的发送在node.js中可以向远程接口发送请求 二、axios应用场景 三、axios的使用 第一步:创建html文件,在…

6.见过最强的后台管理系统

芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 架构图 管理后台的 Vue3 版本采用 vue-element-plus-admin ,Vue2 版本采用 vue-element-admin 管理后台的移动端采用 uni-…

虹科方案 | 医药行业专用ECOLOG即插即用室内和设施环境监控系统

虹科ELPRO ECOLOG Plug&Play 连续监测解决方案采用功能强大的新ECOLOG-PRO硬件模块和ECOLOG-PRO Base服务器解决方案。即插即用是虹科ELPRO室内和设施环境监测解决方案增强型系列的一部分。ECOLOG即插即用是一种多功能,经济的系统,专为需要监测少于5…

转换流:代码与文件编码不一致读取乱码的问题

字符输入转换流:package com.gao;import java.io.*;public class transfer_stream {public static void main(String[] args) throws Exception {InputStream in new FileInputStream("E:\\黑马教育\\demo.txt");Reader re new InputStreamReader(in,&q…

Postman(07)Postman+OMySQL操作数据库

一、本文解决的问题 ● Postman断言需要查询数据存储情况; ● 部分业务需要从数据库中获取验证码(例如登录); ● 自动化场景需要执行数据正确性比对。 二、OMySQL连接数据库 1、OMySQL安装与启动 1.1 安装node.js 这个百度一…

【windows】VMware Workstation 不可恢复错误:(vmui) 错误代码0xc0000094

【问题描述】 打开需要启动的虚拟机后, 修改设备参数的时候,提示: VMware Workstation 不可恢复错误: (wmui) Exception 0xc0000094 has occurred。 【解决方法】 由于搭建的虚拟机环境一直在使用, 后来发现是VMware升级到17.0后…

【回眸】牛客网刷刷刷(三) Linux(续)软件工程(专题)

前言 近期的牛客网学习内容有Linux专题,以下记录一些笔试题中的Linux的知识点。 知识点 -u 用户号 指定用户的用户号;因为系统用户的用户号为 0,故指定用户号为 0; 如果同时有 -o 选项,则可以重复使用其他用户的标识…

马来酰亚胺-二硫键-活性酯;MAL-SS-NHS结构式

英 文 :MAL-SS-NHS 中文:马来酰亚胺-双硫键-活性酯 存储条件:-20C,避光,避湿 用 途:仅供科研实验使用,不用于诊治 外观: 固体或粘性液体,取决于分子量 注意事项:取用…

【机器学习】逻辑回归(理论)

逻辑回归(理论) 目录一、概论1、何为逻辑回归2、映射函数的引入3、伯努利分布二、损失函数的推导三、用逻辑回归实现多分类1、间接法:HardMax2、直接法:SoftMaxⅠ SoftMax的引入Ⅱ SoftMax的计算Ⅲ 引入SoftMax后的损失函数&#…

声网许振明:RTC 场景 UHD 视频应用和探索

大家好,我是声网的视频工程师许振明,今天跟大家主要介绍一下声网在 RTC 场景 UHD 视频的应用和探索。主要基于声网 HFR 和 VDR 两个系统来展开分享。 随着 RTC 技术的发展和应用,越来越多的场景都需要接入 RTC 的能力。尤其是随着编码技术、…

【Linux】Ubuntu20.04.5安装ROS1【教程】

文章目录【Linux】Ubuntu20.04.5安装ROS1【教程】写在前面,一些特别注意的点安装步骤大纲1.选择软件镜像源(可以省略,如果不成功再试这一步)2.添加ROS软件源和密钥3.安装ROS14.设置环境变量5.安装rosinstall6.检查安装是否成功Ref…

基于uds和modbus协议的bootloader对比

2022年参与了两个bootloader项目的开发,两个项目使用的芯片、通讯驱动不同,因此传输协议也不同,年底了将两个项目做一个对比,也顺便加深下对bootloader的理解。相同点:modbusuds刷新流程刷新流程大同小异,简…

活动星投票技能创意大赛网络评选微信的投票方式线上免费投票

“技能创意大赛”网络评选投票_建立投票链接_作品投票小程序_扫码投票制作方法现在来说,公司、企业、学校更多的想借助短视频推广自己。通过微信投票小程序,网友们就可以通过手机拍视频上传视频参加活动,而短视频微信投票评选活动既可以给用户…

C语言详解——自定义类型:结构体、枚举、联合体

🌇个人主页:平凡的小苏 📚学习格言:别人可以拷贝我的模式,但不能拷贝我不断往前的激情 🛸C语言专栏:https://blog.csdn.net/vhhhbb/category_12174730.html 小苏希望大家能从这篇文章中收获到许…