MySQL~mysql基础应用相关题

news2024/11/18 7:31:31

整卷阅览:

 

 想要获取试卷原版请点击以下链接下载:

https://download.csdn.net/download/qq_53142796/88168133icon-default.png?t=N6B9https://download.csdn.net/download/qq_53142796/88168133

 解题过程:

数据库:studentdb

数据库表如下:

 题目一:数据内容基本操作(每题4分,共20分)

1. 创建数据库studentdb

代码如下:

CREATE DATABASE studentdb;

USE studentdb;

 

 2. studentdb 数据库中创建student表和score表,包括主外键关系

代码如下:

-- 创建student表
CREATE TABLE IF NOT EXISTS student (
  STUID INT PRIMARY KEY AUTO_INCREMENT,
  NAME VARCHAR(20) NOT NULL,
  PHONE VARCHAR(20),
  SEX VARCHAR(2),
  BIRTHDAY DATE,
  SCLASS VARCHAR(50)
);

-- 创建score表
CREATE TABLE IF NOT EXISTS score (
  SCOREID INT PRIMARY KEY AUTO_INCREMENT,
  STUID INT,
  ENGLISH INT,
  MATH INT,
  FOREIGN KEY (STUID) REFERENCES student(STUID)
);

 

 

3. 插入一条学生信息:姓名:李冰,电话:18866567880,性别:男,出生日期:1980-05-22

代码如下:

INSERT INTO student (NAME, PHONE, SEX, BIRTHDAY)
VALUES ('李冰', '18866567880', '男', '1980-05-22');
SELECT * FROM student;

 

 

4. 修改学生编号为22的英语成绩为88

代码如下:

INSERT INTO student (STUID, NAME, PHONE, SEX, BIRTHDAY)
VALUES (22, '张三', '17866567770', '女', '1982-05-20');

INSERT INTO score (STUID, ENGLISH)
VALUES (22, 80);

SELECT * FROM student;
SELECT * FROM score;

UPDATE score
SET ENGLISH = 88
WHERE STUID = 22;

SELECT * FROM score;

 

 

5. 删除学生编号为35的学生信息

代码如下:

INSERT INTO student (STUID, NAME, PHONE, SEX, BIRTHDAY)
VALUES (35, '李四', '14086567770', '男', '1981-05-20');

SELECT * FROM student;

DELETE FROM student
WHERE STUID = 35;

 

题目二:查询操作(每题5分)

1. 查询所有性别为男的学生信息

代码如下:

INSERT INTO student (NAME, PHONE, SEX, BIRTHDAY)
VALUES ('王五', '15066567880', '男', '1988-08-22'),
('王柳', '14366567880', '男', '1982-08-22'),
('马七', '19466567880', '女', '1995-09-22'),
('马坝', '14276567880', '男', '1995-04-22'),
('张和', '18366567880', '男', '1980-05-22'),
('张武心', '19866567880', '男', '1995-01-22'),
('张二虎', '18766567880', '男', '1995-05-22');

SELECT * FROM student;

SELECT *
FROM student
WHERE SEX = '男';

 

 

2. 查询所有英语成绩和数学成绩都及格的成绩信息

代码如下:

ALTER TABLE score
ADD COLUMN MATH INT,
ADD COLUMN ENGLISH INT;

INSERT INTO score (STUID, MATH, ENGLISH)
VALUES (36, 85, 95), -- 插入王五的成绩
       (37, 80, 90), -- 插入王柳的成绩
       (38, 90, 85), -- 插入马七的成绩
       (39, 85, 90), -- 插入马坝的成绩
       (40, 85, 95), -- 插入张和的成绩
       (41, 90, 95), -- 插入张武心的成绩
       (42, 75, 85); -- 插入张二虎的成绩
       
SELECT * FROM score;

SELECT *
FROM score
WHERE ENGLISH >= 60 AND MATH >= 60;

 

 

 

3. 查询出生日期在1995年的学生信息

代码如下:

SELECT *
FROM student
WHERE YEAR(BIRTHDAY) = 1995;

 

4. 学校里面需要在每个月的1号为该月过生日的同学采购生日礼物,于是我们需要一张报表用于查询该年度每个月过生日的同学数,从而计算出每个月生日礼需要的经费,假设每一个同学的生日礼成本为88元钱,需要统计信息:月份、人数、生日礼费用,请用SQL实现

代码如下:

SELECT MONTH(BIRTHDAY) AS 月份, COUNT(*) AS 人数, COUNT(*) * 88 AS 生日礼费用
FROM student
WHERE YEAR(BIRTHDAY) = 1995 
GROUP BY MONTH(BIRTHDAY);

 

 

5. 学校里面需要选拔一批英语超过95分的学生参加市里面的英语大赛,并且还要求成绩从高到低进行显示,方便筛选。学校教务处需要得到信息:学生编号、学生姓名、分数,请用SQL实现:

代码如下:

SELECT student.STUID, student.NAME, score.ENGLISH
FROM student
INNER JOIN score ON student.STUID = score.STUID
WHERE score.ENGLISH > 95
ORDER BY score.ENGLISH DESC;

 

 

6. 查询所有性别为女性的学生的学号,姓名和电话

代码如下:

SELECT STUID, NAME, PHONE
FROM student
WHERE SEX = '女';

 

 

7. 查询所有姓的且是三个字的学生信息,请用至少2中方式实现

代码如下:

-- 第一种 -- 
SELECT *
FROM student
WHERE NAME LIKE '张__' AND LENGTH(NAME) = 3;

-- 第二种 --
SELECT *
FROM student
WHERE NAME LIKE '张%'
AND SUBSTR(NAME, 2, 3) != '';

 

8. 查询数学成绩的最高分,最低分,平均分

代码如下:

SELECT MAX(MATH) AS 最高分, MIN(MATH) AS 最低分, AVG(MATH) AS 平均分
FROM score;

 

 

9. 查询数学成绩分数最低的学生人数

代码如下:

SELECT COUNT(*)
FROM score
WHERE MATH = (SELECT MIN(MATH) FROM score);

 

10. 查询既有数学成绩又有英语成绩的学生信息

代码如下:

SELECT s.STUID, s.NAME, sc.ENGLISH, sc.MATH
FROM student s
JOIN score sc ON s.STUID = sc.STUID
WHERE sc.ENGLISH IS NOT NULL AND sc.MATH IS NOT NULL;

 

 

 

11. 统计各班的不同性别的学生人数

代码如下:

SELECT SCLASS, SEX, COUNT(*) AS 人数
FROM student;

 

 

12. 查询所有参与考试的学生信息

代码如下:

SELECT DISTINCT student.*
FROM student
JOIN score ON student.STUID = score.STUID;

 

 

13. 查询所有数学成绩与英语成绩差20分以上的学生名单,这些学生将作为偏科学生由学校老师专门进行辅导。需要查询出的信息:学生编号、学生姓名、数学成绩、英语成绩、分数差值,请用SQL实现。

代码如下:

SELECT student.STUID, student.NAME, score.MATH, score.ENGLISH, ABS(score.MATH - score.ENGLISH) AS 分数差值
FROM student
JOIN score ON student.STUID = score.STUID
WHERE ABS(score.MATH - score.ENGLISH) > 20;

 

 

14. 为了将平均分低于80分的班级作为重点关注班级,需要信息:班级名称、平均分数,请用SQL实现。

代码如下:

SELECT student.SCLASS AS 班级名称, AVG((score.ENGLISH + score.MATH) / 2) AS 平均分数
FROM student
JOIN score ON student.STUID = score.STUID
GROUP BY student.SCLASS
HAVING AVG((score.ENGLISH + score.MATH) / 2) < 80;

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

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

相关文章

数学建模-元胞自动机

clc clear n 300; % 定义表示森林的矩阵大小 Plight 5e-6; Pgrowth 1e-2; % 定义闪电和生长的概率 UL [n,1:n-1]; DR [2:n,1]; % 定义上左&#xff0c;下右邻居 vegzeros(n,n); % 初始化表示森林的矩阵 imh ima…

01-序言

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan 简介&#xff1a; 此专栏是学习“线性代数”课程做的笔记&#xff0c;教程来自B站的3Blue1Brown​​​​​​​d​​​​​​​。 视频作者是Grant Sanderson&#xff0c; 他本人是斯坦…

【蓝图】p48冲刺、瞬移、多段跳

p48冲刺&#xff0c;瞬移&#xff0c;多段跳 p48冲刺&#xff0c;瞬移&#xff0c;多段跳冲刺功能实现瞬移功能实现Set Actor Location&#xff08;设置Actor位置&#xff09; 二段跳 p48冲刺&#xff0c;瞬移&#xff0c;多段跳 按shift加速&#xff0c;松开shift恢复普通速度…

echarts-pie---------3D曲状环形饼图实现!!!

示例&#xff08;参考此处饼图修改https://www.isqqw.com/viewer?id37497&#xff09; 话不多说直接上代码 此套代码可以直接再echarts官网中的此处运行 let selectedIndex ; let hoveredIndex ; option getPie3D([{name: 数学,value: 60,itemStyle: {color: #1890FF,},},{…

Vue2 第二十节 vue-router (一)

1.相关概念理解 2.基本路由 3.嵌套路由&#xff08;多级路由&#xff09; 一.相关概念理解 1.1 vue-router的理解 路由&#xff1a;就是一组key-value的对应关系, key为路径&#xff0c;value可能是function或者component多个路由&#xff0c;需要经过路由器的管理编程中的…

【树状数组】讲解

一.介绍 树状数组&#xff08;Fenwick Tree&#xff09;&#xff0c;也称为二叉索引树&#xff08;Binary Indexed Tree&#xff0c;BIT&#xff09;&#xff0c;是一种用于高效处理动态数组前缀和的数据结构。它可以在O(log n)的时间复杂度内完成单点更新和区间查询操作。 树…

【Python】模块学习之locust性能测试

目录 背景 安装 测试代码 运行命令 资料获取方法 背景 locust是一个python的第三方库&#xff0c;用于做性能测试&#xff0c;可使用多台机器同时对一台服务器进行压测&#xff0c;使用其中一台机器作为主节点&#xff0c;进行分布式管理 博主测试接口的时候一直是使用p…

boost beast http server 测试

boost beast http client boost http server boost beast 是一个非常好用的库&#xff0c;带上boost的协程&#xff0c;好很多东西是比较好用的&#xff0c;以下程序使用四个线程开启协程处理进入http协议处理。协议支持http get 和 http post #include <boost/beast/cor…

Windows 系统无法复制粘贴则么处理

Windows 系统无法复制粘贴如何恢复呢&#xff1f; 今天小编遇到一个问题&#xff0c;就是自己的电脑突然无法复制、粘贴&#xff0c;这样的问题我遇到很多次&#xff0c;重启电脑虽然能解决问题&#xff0c;但是不能一直通过重启来解决这样的问题&#xff0c;很浪费时间的。今…

遇到多人协作,我们该用git如何应对?(版本二)

一、多人协作二 1.1多人协作 一般情况下&#xff0c;如果有多需求需要多人同时进行开发&#xff0c;是不会在一个分支上进行多人开发&#xff0c;而是一个需求或一个功能点就要创建一个feature 分支。 现在同时有两个需求需要你和你的小伙伴进行开发&#xff0c;那么你们俩便…

【诺依管理系统-前端】对话框

1.指定 v-model"openAllScene" 2.按钮代码 3.调用方法handleAddAllScene里面&#xff0c;只是openAllScene的值为true&#xff0c;调用显示对话框

论文研读|多媒体自动评论生成发展综述

前言&#xff1a;多媒体自动评论生成旨在通过使用生成模型&#xff0c;对给定上下文生成符合情境的评论&#xff0c;近年来&#xff0c;随着图像描述等跨模态工作取得较大突破&#xff0c;相关研究也逐渐展开。评论作为社交平台互动的重要组成部分&#xff0c;在引导舆论、提升…

Keil MDK环境下FreeModebus移植踩坑记录

Keil MDK环境下FreeModebus移植踩坑记录 文章目录 Keil MDK环境下FreeModebus移植踩坑记录armcc (arm compiler v5)环境实验一&#xff1a;实验二&#xff1a; armclang (arm compiler v6)环境实验一&#xff1a;实验二&#xff1a;实验三&#xff1a;实验四 总结 armcc (arm c…

TCP Socket 基础知识点(实例是以Java进行演示)

本篇根据TCP & Socket 相关知识点和学习所得进行整理所得。 文章目录 前言1. TCP相关知识点1.1 双工/单工1.2 TCP协议的主要特点1.3 TCP的可靠性原理1.4 报文段1.4.1 端口1.4.2 seq序号1.4.3 ack确认号1.4.4 数据偏移1.4.5 保留1.4.6 控制位1.4.7 窗口1.4.8 校验和1.4.9 紧…

Qt事件的传递顺序

事件的传递顺序 事件的传递顺序是这样的&#xff1a;先是事件过滤器&#xff0c;然后是该部件的event()函数&#xff0c;最后是该部件的事件处理函数。这里还要注意&#xff0c;event()函数和事件处理函数&#xff0c;是在该部件内进行重新定义的&#xff0c;而事件过滤器却是…

Kali部署dvwa和pikachu靶场

kali换源 进入 vim /etc/apt/sources.list deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib替换完后更新源 apt-get upadteDVWA靶场环境搭建 使用git从github上把DV…

C#中XML文档与Treeview控件操作的数据同步

在前文《C#使用XML和Treeview结合实现复杂数据采集功能》中&#xff0c;使用Treeview展示了XML的数据&#xff0c;问题是如果在Treeview上进行了操作&#xff0c;怎样同步更改XML数据的内容呢&#xff1f; 这个问题看似简单&#xff0c;实现起来有一点小麻烦。 要实现的操作功能…

【2023年电赛国一必备】B题报告模板--可直接使用

任务 图1 任务内容 要求 图2 基本要求内容 图3 发挥部分内容 说明 图4 说明内容 评分标准 图5 评分内容 正文 &#xff08;部分&#xff09; 摘要 本实验的目标是设计并制作一个同轴电缆长度与终端负载检测装置&#xff0c;通过使用STM32主控和模拟电路进行实现。装置需…

基于EMQ的企信说明文档(包含EMQ安装步骤、JAVA后端、VUE前端)

基于EMQ的企信说明文档(包含EMQ安装步骤、JAVA服务端、VUE客户端) 整体数据流图&#xff1a; VUE简单demo: 什么是EMQ EMQ X R3.1 (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 语言平台开发&#xff0c;支持大规模连接和分布式集群&#xff0c;简单来说&#…

angular material 表格分页 mat-paginator,设置分页大小标签内容

当我们不想要material 样式自带的文字时&#xff1a; 可以这样操作&#xff1a; import { MatPaginatorIntl } from angular/material/paginator;constructor(private paginator: MatPaginatorIntl) {paginator.itemsPerPageLabel 这里输入分页需要的提示文字; }